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

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

1. 过滤器类型

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

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

①. 抓包过滤器

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

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

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

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

四个元素可以自由组合。

②. 显示过滤器

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

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

  • IP地址: ip.addr、ip.src、ip.dst;
  • 端口: tcp.port、tcp.srcport、tcp.dstport、udp.port;
  • 协议: arp、 ip 、icmp、tcp、udp、http、ntp 、ftp 、ftp-data、snmp 、dns 、hdcp 、modbus 、mysql;
  • 比较运算符: >、 < 、 ==、 >=、 <=、 != ;
  • 逻辑运算符: and、or、not、xor、&& 、|| 等;

五个元素可以自由组合。

显示过滤器还可以使用 "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
相关推荐
源流之道6 小时前
联想Y700 五代(TB323FU)刷 ColorOS 16 教程指南
网络·ai·刷机指南·刷机心得
优化Henry7 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
科力锐品牌君7 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
盛世宏博北京8 小时前
档案库房防护能力升级:从八防到十二防的物联网全维度感知防护体系建设方案
网络·物联网
杨福宇8 小时前
100BASE T1以太网实时控制的危机V3.21 ——辅助自动驾驶难达标
网络·网络协议·安全·自动驾驶·汽车
福建佰胜张工8 小时前
A5E00839230西门子工业核心配件详解:参数、安装调试与故障运维全攻略
运维·网络·安全·自动化
蜗牛互联网9 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
红姐跨境书11 小时前
如何利用AI提升YouTube内容创作与运营效率
网络
别动我齐刘海11 小时前
简历技术栈全面复习——UDP / TCP / CAN / ZMQ / Protobuf 通信工程
网络·c++·python·tcp/ip·机器学习·udp·github
北京中科新远科技11 小时前
AI网卡五层检查法:协议、PCIe、NUMA、端口与验收
服务器·网络·人工智能