首页 > 其他分享 >Wireshark过滤基础语法简析

Wireshark过滤基础语法简析

时间:2024-03-29 23:57:59浏览次数:21  
标签:BPF 端口 语法 简析 过滤 数据包 Wireshark

1.简介

Wireshark是一款强大的网络分析工具,它可以捕获和显示网络上的数据包,并提供多种过滤功能,让用户可以快速地找到自己感兴趣的数据包。

Wireshark的过滤功能分为两种:捕获过滤和显示过滤。

  • 捕获过滤是在数据包进入Wireshark之前就对其进行筛选,只保留符合条件的数据包,从而减少捕获的数据量。
  • 显示过滤是在数据包已经进入Wireshark之后,对其进行再次筛选,只显示符合条件的数据包,从而方便用户分析。

Wireshark的过滤语法有两种:BPF语法和Wireshark语法。

  • BPF语法是一种通用的数据包过滤语言,它可以用于多种网络分析工具,如tcpdump、libpcap等。
  • Wireshark语法是一种专门为Wireshark设计的过滤语言,它可以利用Wireshark的协议解析能力,对数据包的各个层次和字段进行过滤。

本文是Wireshark部分的第一节,介绍两种过滤语法的基本写法。

2.BPF语法

BPF语法的基本格式是:

类型 方向 协议 地址 端口 

其中,

  • 类型-表示数据包的类型,可以是host、net、port、portrange等;
  • 方向-表示数据包的方向,可以是src、dst、src and dst、src or dst等;
  • 协议-表示数据包的协议,可以是ip、tcp、udp、icmp等;
  • 地址-表示数据包的主机地址,可以是IP地址或域名;
  • 端口-表示数据包的端口号,可以是数字或服务名。

BPF语法的一些示例如下:

  • host 192.168.1.1:过滤所有与192.168.1.1相关的数据包,无论是源地址还是目的地址。

  • tcp port 80:过滤所有使用TCP协议并且端口号为80的数据包,无论是源端口还是目的端口。

  • ip src 10.0.0.1 and udp dst port 53:过滤所有使用IP协议,源地址为10.0.0.1,目的端口为53的UDP数据包。

  • net 172.16.0.0/16:过滤所有属于172.16.0.0/16网段的数据包。

3.Wireshark语法

Wireshark语法的基本格式是:

字段 运算符 值 

字段-表示数据包的字段,可以是协议名、字段名或别名;
运算符-表示比较运算符,可以是==、!=、>、<、>=、<=、contains、matches等;
值-表示字段的值,可以是数字、字符串、布尔值等。

Wireshark基础语法的一些示例如下:

  • ip.addr == 192.168.1.1:过滤所有IP地址等于192.168.1.1的数据包,无论是源地址还是目的地址。

  • tcp.port == 80:过滤所有TCP端口等于80的数据包,无论是源端口还是目的端口。

  • udp.srcport == 53 and dns.flags.response == 0:过滤所有源端口为53,且DNS标志位为请求的UDP数据包。

  • http.request.method == "GET":过滤所有HTTP请求方法为GET的数据包。

  • ssl.handshake.type == 1:过滤所有SSL握手类型为Client Hello的数据包。

  • ip.addr matches "10\.0\.\d+\.\d+":过滤所有IP地址符合正则表达式10.0.\d+.\d+的数据包。

标签:BPF,端口,语法,简析,过滤,数据包,Wireshark
From: https://www.cnblogs.com/AsarumMaxim/p/18104865

相关文章

  • py常用语法
    Spider常用知识一.py常用语法1.基础知识1.1.if条件判断情况一,数据里有一些我们并不需要的内容ifdata里有你不需要的数据: 再见else: 保留情况二,页面结构不统一,会有两种页面结构#伪代码,理解含义(思路)提取器1=xxxx#用来提取页面中内容的提取器2=xx......
  • Android.bp语法记录
    参考资料:https://www.cnblogs.com/linhaostudy/p/12361659.htmlhttps://blog.csdn.net/hxp1994/article/details/113853459https://blog.csdn.net/tkwxty/article/details/104395820 Android.bpAndroid.bp文件首先是Android系统的一种编译配置文件,是用来代替原来的Android.......
  • 【Vue】模板语法
    用js完成输出输入框中的值到列表中constbuttonEl=document.querySelector('button');constinputEl=document.querySelector('input');constlistEl=document.querySelector('ul')0;functionaddGoal(){ constenteredValue=inputEl.value; c......
  • 2. Java基本语法
    文章目录2.Java基本语法2.1关键字保留字2.1.1关键字2.1.2保留字2.1.3标识符2.1.4Java中的名称命名规范2.2变量2.2.1分类2.2.2整型变量2.2.3浮点型2.2.4字符型char2.2.5Unicode编码2.2.6UTF-82.2.7boolean类型2.3基本数据类型转换2.3.1自动类型转换2.2......
  • 在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
    在Linux环境中,追踪TCP连接和网络数据包主要通过使用命令行工具tcpdump和图形化网络分析软件Wireshark来实现。以下是详细的操作步骤:1.使用tcpdumptcpdump是一个强大的命令行网络抓包工具,用于实时捕获和分析网络流量。以下是如何使用tcpdump追踪TCP连接和数据包:1.基本用法......
  • 使用wireshark抓包分析ICMP拼通与不通,IP包分片与不分片,ARP中含对象mac地址与不含时的
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、实验环境获取1.获取电脑基本信息2.wireshark版本获取3.拓扑结构4.电脑ip地址、mac地址和掩码获取二、实验步骤一、正常接通实验步骤1.关闭两台电脑的防火墙2.网络配置3.开始抓包三、icm......
  • 【docker常用命令系列】Docker save语法用法示例详解
    【docker常用命令系列】Dockersave语法用法示例详解源自专栏《docker常用命令系列目录导航?》文章目录[【docker常用命令系列】Dockersave语法用法示例详解](https://zhuanlan.zhihu.com/p/689619518/)概览用法别名选项示例参考链接概览dockerimagesav......
  • Verilog语法之case语句学习
    case分支语句是一种实现多路分支控制的分支语句。与使用if-else条件分支语句相比,采用case分支语句来实现多路控制会变得更加的方便直观。case分支语句通常用于对微处理器指令译码功能的描述以及对有限状态机的描述。Case分支语句有“case”、“casez”、“casex”三种形式,这里......
  • Drools业务规则管理系统25_Drools基础语法4
    一、规则文件构成在使用Drools时非常重要的一个工作就是编写规则文件,通常规则文件的后缀为.drl。drl是DroolsRuleLanguage的缩写。在规则文件中编写具体的规则内容。一套完整的规则文件内容构成如下:package其实就是一个逻辑层面的划分,不同于java里面的包名,说白......
  • Day4 我终于开始学习基础语法啦
    Day4java语法基础一、注释注释是在编写代码过程中的解释说明,一般分为单行注释在代码中用“//”来提出多行注释在代码中用“/*xxx*/”来提出(丫的不打空格typora直接给我加粗)文档注释在代码中用“/**xxx直接加上回车即可附今天的代码内容publicclassHell......