前言
使用 Wireshark 工具进行网络抓包属于研发人员的基础技能,如果你还不了解,建议从现在开始学习和掌握一些基础的使用方法。今天就来先了解一下 Wireshark 常用的抓包过滤命令。
正文
正式开始之前,考虑到不同版本的兼容性和差异性问题,本次介绍的 Wireshark 版本是3.6.8,如下图所示:
一、根据 IP 地址过滤
case 1、筛选出源 IP 或者目的 IP 地址是 192.168.3.77 的全部数据包
过滤命令:
ip.addr == 192.168.3.77
case 2、筛选出源 IP 地址是 182.254.3.77 的数据包
过滤命令:
ip.src_host == 192.168.1.114
case 3、筛选出目的地址是192.168.1.114的数据包
过滤命令:
ip.dst_host == 192.168.1.114
二、根据端口过滤
case 1、根据 TCP 端口筛选数据包,包括源端口和目的端口
过滤命令:
tcp.port == 80
case 2、根据 TCP 目的端口筛选数据包
过滤命令:
tcp.dstport == 80
case 3、根据 TCP 源端口筛选数据包
过滤命令:
tcp.srcport==80
case 4、根据 UDP 端口筛选数据包,包括源端口和目的端口
过滤命令:
udp.port == 1234
case 5、根据 UDP 源端口筛选数据包
过滤命令:
udp.srcport == 1234
case 6、根据 UDP 的目的端口筛选数据包
过滤命令:
udp.dstport == 1234
三、根据协议过滤
常用的网络协议有 udp、tcp、dns、ip、ssl、http、ftp、arp、icmp、smtp、pop、telnet、ssh、rdp、sip 等。
case 1、筛选出 http 协议中 GET 请求的数据包
过滤命令:
http.request.method == GET
注意:GET 一定要大写!
case 2、筛选出 http 协议中的 POST 请求的数据包
过滤命令:
http.request.method == POST
注意:POST 一定要大写!
四、根据 Payload Type 条件过滤
可以根据网络包的 Payload Type 类型进行条件过滤,比如根据下图中的 111 枚举值过滤。
过滤条件如下:
rtp.p_type == 111
五、根据组合条件过滤
case 1、筛选出源 IP 地址是 192.168.3.77 且目的 IP 地址是 192.168.3.78 的数据包
过滤命令:
ip.src_host == 192.168.3.77 && ip.dst_host == 192.168.3.78
case 2、筛选出源 IP 地址是 192.168.3.77 或者源 IP 地址是 192.168.3.78 的数据包
过滤命令:
ip.src_host == 192.168.3.77 && ip.src_host == 192.168.3.78
case 3、筛选出不是 IP 地址 192.168.3.77 的数据包
过滤命令:
!(ip.addr == 192.168.3.77)
六、实例分析
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表