排查网页打不开、游戏连不上服务器、公司内网共享访问慢——这些事儿,光看现象很难下手。这时候打开 Wireshark 抓个包,再配上几条精准过滤,问题往往就浮出水面了。
先从最常用的协议名过滤开始
比如只想看 HTTP 流量,直接在过滤栏输入:
http这样所有带 HTTP 协议特征的数据包都会留下,其他如 DNS、TCP 握手、ICMP 都被筛掉了。同理:dnstcpicmp都是即输即用的快捷方式。按 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 文件打开都卡,更别说分析了。