Wireshark是干什么的?
你有没有遇到过网页打不开、视频卡顿、游戏掉线的问题?有时候问题不在网速,而在“看不见”的数据传输过程。Wireshark就是帮你“看见”这些数据包的工具,它能抓取网络中流动的数据,并逐层解析协议内容,就像给网络通信做一次CT扫描。
安装与界面初识
去官网下载对应系统的版本,Windows和macOS都有图形化安装包,一路下一步就行。打开后你会看到一个列表界面,左边是可用的网络接口,比如Wi-Fi、以太网。点一下Wi-Fi那个接口,Wireshark就开始抓包了。
中间的大表格就是实时捕获的数据包列表,每一行代表一个数据包。列包括编号、时间、源IP、目标IP、协议类型、信息摘要。比如你能看到你的电脑什么时候连上了微信服务器,用了TCP还是HTTPS。
抓一个HTTP请求看看
在浏览器里输入一个HTTP网站(比如http://example.com),然后回到Wireshark。在过滤栏输入 http,回车,就能只看HTTP相关的包。
找到你访问的那个地址,点开其中一个数据包,下方面板会分成三层:整体概览、各协议头信息、原始数据十六进制显示。展开“Hypertext Transfer Protocol”部分,能看到请求方法、URL、User-Agent这些熟悉的字段,就跟浏览器开发者工具里的Network标签差不多。
过滤器怎么用
默认抓的是所有流量,信息太多容易乱。Wireshark支持两种过滤器:抓包时用的“捕获过滤器”和抓完后用的“显示过滤器”。
比如只想抓目标IP为192.168.1.100的数据,在开始前可以在捕获选项里写:
host 192.168.1.100
抓完之后想看DNS查询,直接在顶部输入框写:
dns回车,列表就只剩DNS包了。再比如查某个端口的流量:tcp.port == 80这种写法很常用。
实战:排查网页打不开的原因
假设你打开某管理后台一直转圈。用Wireshark抓包,过滤http发现根本没发出请求。换过滤条件为tcp,发现尝试连接服务器的443端口时,对方直接返回RST(重置连接)。这说明不是本地问题,而是服务器拒绝连接,可能是防火墙或服务挂了。
如果是DNS解析失败,你会看到发出的DNS请求没有响应,或者返回NXDOMAIN。这时候问题可能出在路由器或DNS服务器上。
保存和分享抓包文件
分析完可以保存.pcapng格式的文件,方便以后回看或发给同事协助排查。点击文件 → 保存即可。如果只想保存选中的几个包,可以右键选择“指定分组另存为”。
公司内做故障复现时,让用户提供一份Wireshark抓包记录,比口头描述“连不上”有用得多。