多平台的图形界面网络抓包 / 数据包分析工具。
Filter
Wireshark 过滤器(filter)有两种:
- 显示过滤器(display filter),就是主界面上那个,用来在捕获的记录中找到所需要的记录
- 捕获过滤器(capture filter),用来过滤捕获的封包,以免捕获太多的记录。 在 Capture -> Capture Filters 中设置。
通常使用第1种 display filter。
Wireshark 的 filter 表达式格式与 tcpdump 有所差异。tcpdump 是用的 libpcap 的 filter 格式,功能强大但很难用。Wireshark 的 filter 简单易用得多。
一些 filter 示例:
tcp and udp
dns
ip.src==10.0.0.5
tcp and ( ip.src == 10.0.0.5 or ip.dst == 10.0.0.5)
大部分运算符同时支持自然语言和 C 语言两种风格:
自然语言: eq, ne, gt, lt, ge, le, and, or, xor, not
C语言: ==, !=, >, <, >=, <=, &&, ||, ^^, ! (注意 ^^ 是 Wireshark 特有的 “逻辑异或”运算符,C里只有 ^ 位运算异或操作符)
常见表达式:
ip.src, ip.dst
tcp.srcport, tcp.dstport, tcp.port (tcp.port指源端口或目的端口任一满足均可)
http.request.method