第一步:环境准备与网卡选择
安装:官网下载时,务必勾选安装Npcap驱动。安装后,以管理员身份运行,否则可能识别不到网卡。
选网卡:连 Wi-Fi 选
WLAN,插网线选以太网,抓本机内部通信选Adapter for loopback...。避坑:千万别选带有
本地连接*或虚拟网卡字样的选项,那是虚拟机或系统内部用的,抓不到真实流量。口诀:找波浪线动得最欢的那个,通常就是你正在上网的网卡。
第二步:ICMP 抓包与 MTU 报错
实操:
ping www.baidu.com -n 4,Wireshark 过滤icmp。踩坑:特定受限网络环境下,抓到大量
Destination unreachable (Fragmentation needed)报错。原因与解决:这是网络路径上的 MTU(最大传输单元)限制导致的。不要加
-f或-l参数发大包,直接用标准 ping 命令即可解决。
第三步:DNS 解析与精准过滤
实操:cmd 输入
nslookup www.baidu.com。踩坑:过滤
dns后,全是后台软件的查询,找不到目标域名。解决:使用显示过滤器
dns.qry.name contains "baidu"精准定位。可以观察到 CNAME 记录(别名)和 A 记录(真实 IP)。
第四步:TCP 深度分析(握手与挥手)
实操:过滤
tcp.flags.syn == 1 || tcp.flags.ack == 1看三次握手;过滤tcp.flags.fin == 1 || tcp.flags.reset == 1看四次挥手。踩坑1:为什么 Ack 号是 1?Wireshark 默认开启相对序列号,握手时的随机序列号会被归一化为 0。
踩坑2:为什么只抓到三次挥手?现代服务器为提效,常把 ACK 和 FIN 合并为一个包发送。
架构师视角:这部分对应 K8s 的“优雅停机”。如果应用没发出
FIN就被强杀,会导致网关出现 502 错误。
第五步:流量图与 HTTP 导出
实操:
统计 -> IO Graph画流量心电图。文件 -> 导出对象 -> HTTP提取网页图片。踩坑1:IO Graph 找不到输入框?要双击底部表格的 Display Filter 列输入过滤器,并勾选 Enabled。
踩坑2:导出的图片打不开?Wireshark 按 URL 命名未加后缀,右键重命名加上
.jpg或.png即可完美打开。提示:IO Graph 的 Y 轴建议从
Packets改为Bytes,这样看带宽占用更直观。
第六步:终极挑战 - 解密 HTTPS
实操:设置环境变量
SSLKEYLOGFILE(值为桌面的日志路径,例如C:\Users\你的用户名\Desktop\sslkey.log),并在 Wireshark首选项 -> Protocols -> TLS中指向该文件。致命大坑:配置完抓
http还是乱码?必须彻底关闭所有浏览器窗口再重新打开,环境变量才对浏览器生效。效果:过滤
http,原本的乱码TLSv1.3 Application Data变成明文的GET / HTTP/1.1,可以直接查看 Cookie 和请求头。