电脑工场
白蓝主题五 · 清爽阅读
首页  > 网络基础

Wireshark里几招实用的网络协议分析过滤技巧

排查网页打不开、游戏连不上服务器、公司内网共享访问慢——这些事儿,光看现象很难下手。这时候打开 Wireshark 抓个包,再配上几条精准过滤,问题往往就浮出水面了。

先从最常用的协议名过滤开始

比如只想看 HTTP 流量,直接在过滤栏输入:

http
这样所有带 HTTP 协议特征的数据包都会留下,其他如 DNS、TCP 握手、ICMP 都被筛掉了。同理:
dns
tcp
icmp
都是即输即用的快捷方式。

按 IP 或端口缩小范围

你怀疑是某台设备拖慢了网络?比如发现 192.168.1.105 这台电脑一直在发异常请求,那就锁定它:

ip.addr == 192.168.1.105
如果想只看它和路由器(假设是 192.168.1.1)之间的通信:
ip.addr == 192.168.1.105 and ip.addr == 192.168.1.1
再进一步,比如只看它访问 443 端口(HTTPS)的流量:
ip.addr == 192.168.1.105 and tcp.port == 443

抓特定行为:重传、SYN 包、RST 中断

网页卡顿,可能是 TCP 重传太多。过滤重传包:

tcp.analysis.retransmission
想确认是不是有人疯狂发起连接请求(比如扫描或攻击),抓所有 SYN 包:
tcp.flags.syn == 1 and tcp.flags.ack == 0
突然断连?找 RST 包:
tcp.flags.reset == 1

组合条件别怕复杂,但得加括号

比如:我想看来自 192.168.1.200、且目标端口是 3389(远程桌面)、并且不是 ACK 包的所有 TCP 流量:

ip.src == 192.168.1.200 and tcp.dstport == 3389 and !(tcp.flags.ack == 1)
注意 ! 表示“非”,括号不能省,否则逻辑容易错乱。

小技巧:右键快速过滤

抓包界面里,右键任意一个数据包 →「应用为过滤器」→「… 且」或「… 或」,Wireshark 会自动帮你拼好语法,比手敲快得多。比如右键一个 DNS 请求包选「应用为过滤器 → 正则匹配」,就能快速聚焦同类报文。

实际抓包时,别一上来就全量保存。先用简单过滤跑几秒,看到方向对了再保存完整包。不然几百兆的 pcap 文件打开都卡,更别说分析了。