Wireshark显示过滤器常用关键字及过滤表达式

Wireshark显示过滤器常用关键字及过滤表达式

1. 过滤器类型

Wireshark抓包工具提供了两种类型过滤器:抓包过滤器 和 显示过滤器。

  • 抓包过滤器: 抓取满足过滤条件的数据包,不满足过滤条件的数据包不会被抓取。
  • 显示过滤器: 包已经被抓取到,显示只满足过滤条件的数据包,不满足过滤条件的数据包在后台。

①. 抓包过滤器

Wireshark 抓包工具在抓包过滤时,其过滤语法格式为 BPF 格式。

BPF (全称为Berkeley Packet Filter),翻译过来就是 "伯克利封包过滤器" (或者也称 "柏克莱封包过滤器" )。

抓包过滤器语法包含四个核心元素:类型、方向、协议 和 逻辑运算符。

  • 类型Type: 主机(host)、网段(net)、端口(port);
  • 方向Dir: 源地址(src)、目标地址(dst);
  • 协议Protocol: 各种网络协议,比如:tcpudphttp
  • 逻辑运算符: 与( && )、或( || )、非( !) ;

四个元素可以自由组合。

②. 显示过滤器

显示过滤器在抓包后或者抓包过程中使用。

显示过滤器的语法包含五个核心元素:IP、端口、协议、比较运算符和逻辑运算符。

  • IP地址: ip.addrip.srcip.dst
  • 端口: tcp.porttcp.srcporttcp.dstportudp.port
  • 协议: arpipicmptcpudphttpntpftpftp-datasnmpdnshdcpmodbusmysql;
  • 比较运算符: >< == >=<=!= ;
  • 逻辑运算符: andornotxor&&|| 等;

五个元素可以自由组合。

显示过滤器还可以使用 "frame\[\]""data\[\]" 定位帧指定位置内容。

  • frame\[\]: 全域中定位数据(匹配数据);
  • data\[\]: 数据域中定位数据(匹配数据);

2. 常用显示过滤器关键字及其表达式

1. IP地址过滤

目标地址过滤

shell 复制代码
ip.dst == 10.46.21.11

源地址过滤

shell 复制代码
ip.src == 10.56.1.31

2. 端口过滤

UDP端口过滤

shell 复制代码
udp.port == 50001

UDP 目标端口过滤

shell 复制代码
udp.dstport == 4000

UDP 源端口过滤

shell 复制代码
udp.srcport == 50001

TCP端口过滤

shell 复制代码
tcp.port == 2048

TCP 目标端口过滤

shell 复制代码
tcp.dstport == 512

TCP 源端口过滤

shell 复制代码
tcp.srcport == 501

3. 常用协议过滤

ICMP协议过滤

shell 复制代码
icmp

UDP协议过滤

shell 复制代码
udp

TCP 协议过滤

shell 复制代码
tcp

MYSQL协议过滤

shell 复制代码
mysql

HTTP 协议过滤

shell 复制代码
http 

4. Modbus协议过滤

Modbus协议过滤

shell 复制代码
modbus.func_code==0x03

5. MySQL协议过滤

MySQL协议过滤

shell 复制代码
mysql

6. IEC60870-104协议过滤

IEC60870-104协议过滤

shell 复制代码
104apci     应用规约控制信息帧

104asdu     应用服务数据单元帧

7. 多条件组合过滤

多个条件组合过滤

比如,过滤应用层协议类型为TCP,目标端口为512,源地址为192.168.58.151 的数据帧,过滤表达式如下:

shell 复制代码
tcp and tcp.dstport==512 and ip.src==192.168.58.151

8. frame\[\] 全域过滤

A. 单个字节匹配过滤

单个字节数据域匹配过滤

shell 复制代码
frame[2] == 5e
B. 多个连续字节匹配过滤

多个连续字节数据域匹配过滤(比如 frame[0:6]: 表示从第0个索引位置开始,匹配连续6个字节 )

shell 复制代码
frame[0:6] == ff:ff:ff:ff:ff:ff
C. 多个不连续字节匹配过滤

多个不连续字节数据域匹配过滤(比如 frame[0,7,8,11]: 表示匹配索引位置 0,7,8、11 共四个数据内容)

shell 复制代码
frame[0,7,8,11] == ff:50:56:08

9. data\[\] 数据域过滤

A. 单个字节匹配过滤

单个字节数据域匹配过滤

shell 复制代码
data[0] == 90
B. 多个连续字节匹配过滤

多个连续字节数据域匹配过滤(比如 data[0:4]: 表示从第0个索引位置开始,匹配连续四个字节 )

shell 复制代码
data[0:4] == 90:eb:03:03
C. 多个不连续字节匹配过滤

多个不连续字节数据域匹配过滤(比如 data[0,1,6]: 表示匹配索引位置 0,1,6 共三个数据内容)

shell 复制代码
data[0,1,6] == 90:eb:a7
相关推荐
Bruce_Liuxiaowei6 分钟前
数字签名与“公钥制作者之谜“:信任从何而来
网络·安全·web安全
keven-wang10 分钟前
密码学-对称加密和非对称加密
网络·密码学
keven-wang11 分钟前
密码学-数字证书及其他相关概念
网络·密码学
xixiaoyunya18 分钟前
存储备份系统选型指南:从企业级到轻量级方案的技术分析
网络
Java小白笔记39 分钟前
FlClash TUN 栈模式选择与验证指南
网络·网络协议
清水白石0081 小时前
ThreadPoolExecutor 线程越多越快?从 30ms HTTP 调用讲透并发数、连接池与背压
网络·网络协议·http
IT小白杨1 小时前
eBay多账号如何应对关联判定:主体、收款、IP、环境四层配置清单一次讲清
java·网络·网络协议·tcp/ip·自动化·指纹浏览器
あ-2 小时前
企业 DevOps + 协同办公 + 可观测性 + 网络基础设施平台
运维·网络·devops
数据知道2 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法
sbjdhjd2 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache