家里路由器老是卡顿,网页打不开、视频频繁缓冲,但ping又没丢包?别急着换设备,先打开Wireshark抓个包看看——很多路由异常根本不是硬件问题,而是协议层面悄悄出了岔子。
一、按协议名快速筛选,直奔主题
抓包界面右上角那个「Filter」框,不是摆设。想只看DNS请求?敲:
dns回车,所有DNS流量立马清爽浮现。同理:httpicmparp都能秒筛对应协议。注意大小写不敏感,HTTP和http效果一样。
二、揪出异常重传,定位TCP卡点
网页加载慢,常是TCP重传惹的祸。用这句过滤重传包:
tcp.analysis.retransmission再配合「Follow TCP Stream」右键菜单,一眼看出哪段数据反复发、哪边没回ACK。我家NAS传大文件卡住时,就是发现路由器对某个SYN-ACK一直没响应,最后查出是QoS规则误把端口32768+全限速了。
三、过滤特定IP或端口,缩小排查范围
知道问题发生在192.168.1.100这台电脑?直接:
ip.addr == 192.168.1.100如果只关心它连路由器(192.168.1.1)的SSH管理流量:ip.addr == 192.168.1.100 && ip.addr == 192.168.1.1 && tcp.port == 22端口还能用范围写法,比如过滤所有高位临时端口:tcp.port > 32767
四、组合条件抓“可疑行为”
路由器CPU飙高?试试抓DHCP泛洪:
bootp && eth.dst == ff:ff:ff:ff:ff:ff或者看有没有设备在疯狂发ICMPv6邻居请求(常见于IPv6配置混乱):icmpv6.type == 135这类包一多,中低端路由很容易扛不住。
五、保存常用过滤,下次秒调用
右上角Filter框左侧有个小漏斗图标,点开选「Expression…」,把常用表达式存成名字,比如「DNS异常」「TCP重传」。下次下拉选择就行,不用再手敲,省得记错括号或空格。
记住:过滤不是越复杂越好,而是越贴近你此刻要查的问题越好。抓包前先想清楚——我到底想确认什么?是某台设备连不上?还是某类协议总延迟高?带着问题去过滤,Wireshark才真正变成你的路由透视镜。