2. Wireshark入门:从安装到第一次抓包
说实话,我见过太多人一上来就点「Start Capture」,然后被满屏花花绿绿的包吓退。Wireshark 这东西,用好了是手术刀,用不好就是一团乱麻。这一章,我带你把它捋清楚。
2.1 安装与第一印象
Wireshark 的安装没什么玄学。Windows 用户一路 Next 就行,但有两个坑我得提醒你:
- WinPcap 还是 Npcap? 现在官方推荐 Npcap。WinPcap 已经停更了,Windows 10/11 上兼容性有问题。我去年帮一个同事排查,他死活抓不到无线网卡的包,换 Npcap 立刻解决。
- 安装时勾选「Install Npcap in WinPcap API‑compatible Mode」。这样老工具也能用,不冲突。
Mac 用户用 Homebrew 装:brew install --cask wireshark。装完记得把当前用户加到 access_bpf 组,否则没权限抓包。
2.2 界面速览:别被吓到
打开 Wireshark,你会看到四个核心区域。我按使用频率排个序:
| 区域 | 位置 | 一句话用途 |
|---|---|---|
| 数据包列表 | 顶部主窗格 | 所有包的流水账,一行一个 |
| 数据包详情 | 中间窗格 | 选中包的协议层级拆解 |
| 数据包字节 | 底部窗格 | 原始十六进制 + ASCII |
| 过滤器工具栏 | 顶部输入框 | 输入过滤表达式的地方 |
嗯,这里要注意:数据包详情窗格才是你真正花时间的地方。列表只是索引,字节窗格是最后确认用的。中间那层,才是协议分析的战场。
2.3 捕获过滤器 vs 显示过滤器
这是新手最容易搞混的地方。我直接说结论:
- 捕获过滤器:在抓包之前设置,只抓符合条件的包。语法是 BPF(Berkeley Packet Filter)。
- 显示过滤器:在抓包之后设置,只显示符合条件的包。语法是 Wireshark 自己的表达式。
核心区别: 捕获过滤器是「丢掉的包永远找不回来」,显示过滤器是「只是藏起来了,数据还在」。我建议你平时多用显示过滤器,除非你明确知道要排除什么流量。
举个例子。你只想看 HTTP 流量:
# 捕获过滤器(抓包前写在 Capture → Options 里)
port 80
# 显示过滤器(抓包后写在顶部输入框里)
http
为什么我强调用显示过滤器?有一次我排查一个间歇性丢包问题,用捕获过滤器只抓了 TCP 80 端口,结果问题出在 DNS 解析阶段——我根本没抓到 DNS 包,白白浪费半天。从那以后,我除非在流量极大的生产环境,否则一律全量抓,用显示过滤器慢慢筛。
2.4 数据包列表:一眼看出门道
列表默认显示这些列:No.、Time、Source、Destination、Protocol、Length、Info。你想想看,几百个包滚过去,怎么快速定位?
我的做法是:
- 先看 Protocol 列。颜色会帮你分类(后面讲着色规则)。
- 再看 Info 列。TCP 的 SYN、ACK、HTTP 的 GET/POST,这里会简要描述。
- 双击进详情。别在列表层纠结太久。
另外,你可以右键任意列标题,选 Column Preferences 添加自定义列。我个人必加一列 Delta Time(前后包时间差),排查延迟问题特别好用。
2.5 着色规则:让异常自己跳出来
Wireshark 默认有一套着色方案。比如:
- 浅紫色:TCP SYN
- 浅红色:TCP RST
- 浅绿色:HTTP 流量
- 浅蓝色:DNS
但默认规则太保守了。我建议你按自己的场景改。比如我排查 TCP 重传时,会把 TCP Retransmission 设成亮红色背景 + 白字,让它在一堆绿油油的正常包里像红灯一样刺眼。
2.6 统计功能:别只会看列表
很多人抓完包就盯着列表一条条翻。其实 Wireshark 的统计功能能帮你省 80% 的时间。常用的几个:
| 统计项 | 菜单位置 | 什么时候用 |
|---|---|---|
| Protocol Hierarchy | Statistics → Protocol Hierarchy | 一眼看出流量构成,哪个协议占比最大 |
| Conversations | Statistics → Conversations | 查看哪些 IP 之间在通信,流量大小 |
| Endpoints | Statistics → Endpoints | 统计每个 IP/MAC 的总流量 |
| IO Graph | Statistics → IO Graph | 看流量随时间的变化曲线,找突刺 |
我记得有一次客户说「网络下午 3 点准时卡顿」。我抓了 24 小时的流量,打开 IO Graph,发现每天 15:00 准时有个流量尖峰——后来查出来是备份脚本在跑。如果没有这个图,你根本不可能从几十万条包里看出时间规律。
2.7 本章知识体系
下面这张图把 Wireshark 入门的核心逻辑串起来了。你可以把它当一张地图,以后迷路了就回来看看。
这张图你看懂了吗?从上到下是操作流程,从左到右是选择分支。安装完 → 熟悉界面 → 决定用哪种过滤器 → 看列表和着色 → 深入详情或用统计工具 → 最终定位问题。每一步都有对应的 Wireshark 功能支撑。