3、Wireshark入门:安装、界面与第一次抓包

说实话,很多新手学抓包,第一个拦路虎不是协议,而是工具本身没装对。我见过有人装了个旧版本,界面全是英文菜单,连网卡都选不对,折腾半小时还没抓到第一个包。今天咱们就把这第一步走稳了。

3.1 下载与安装:别踩这些坑

Wireshark 的安装其实不复杂,但有几个细节我特别想提醒你。

3.1.1 下载渠道

一定要去官网:wireshark.org。别去第三方下载站,那些捆绑软件能让你怀疑人生。我个人习惯直接点「Download」按钮,选对应操作系统的稳定版。

注意:安装过程中会提示安装 Npcap(Windows)或 ChmodBPF(macOS)。这是抓包的底层驱动,必须装。我曾经遇到过有人嫌麻烦跳过了这一步,结果打开 Wireshark 发现一个网卡都扫不到——白忙活。

3.1.2 安装选项

Windows 用户安装时,一路默认就行。但有一个选项值得留意:

  • 「Install Npcap 1.xx」:勾上,这是抓包的底层引擎。
  • 「Add Wireshark to the system PATH」:建议勾上,方便以后在命令行里直接调 tshark。

macOS 用户记得装 XQuartz,不然某些远程抓包功能会报错。Linux 用户最简单,一条命令搞定:

sudo apt install wireshark  # Debian/Ubuntu
sudo yum install wireshark  # CentOS/RHEL

3.2 界面初识:别被密密麻麻的窗口吓到

第一次打开 Wireshark,你可能会觉得眼花缭乱。别慌,核心就三个区域。我画了张图帮你快速定位:

Wireshark 主界面核心区域 ① 菜单栏 & 工具栏 ② 显示过滤栏(核心操作区) ③ 数据包列表(Packet List) No. | Time | Source | Destination | Protocol | Length | Info 1 0.000 192.168.1.1 192.168.1.100 TCP 66 SYN 2 0.001 192.168.1.100 192.168.1.1 TCP 66 SYN-ACK 3 0.002 192.168.1.1 192.168.1.100 TCP 66 ACK ④ 包详情(Packet Details) ├─ Frame (帧) ├─ Ethernet II (数据链路层) ├─ Internet Protocol (网络层) └─ Transmission Control Protocol (传输层) ⑤ 包字节(Packet Bytes) 0000 00 1a 2b 3c 4d 5e 00 1a 2b 3c 4d 5f 08 00 45 00 0010 00 3c 00 01 00 00 40 06 7c 4d c0 a8 01 01 c0 a8 0020 01 64 00 50 1f 90 00 00 00 00 00 00 00 00 50 02 ⑥ 状态栏(已捕获 1024 包 · 已显示 512 包 · 接口: eth0)

说白了,你平时工作主要就在③④⑤这三个区域。上面抓包列表,中间看协议详情,下面看原始字节。我刚开始学的时候,最喜欢点开一个包,一层层展开看——从以太网帧到 IP 头,再到 TCP 段,那种感觉就像在拆俄罗斯套娃。

3.3 选择网卡:抓对接口才能抓到对的包

启动 Wireshark 后,你会看到一个网卡列表。这里有个常见误区:很多人直接选「Wi-Fi」或「以太网」就开始抓,结果发现抓到的包全是广播,没有自己想要的流量。

我的经验:如果你要抓本机访问网页的流量,选连接互联网的那张网卡。不确定的话,看「IP Address」列——有 IP 的那个就是。如果列表里全是 0.0.0.0,说明 Npcap 没装好,回去重装。

选好网卡后,双击它,或者选中后点左上角的蓝色鲨鱼鳍图标,就开始抓包了。

3.4 开始抓包:见证奇迹的时刻

点击开始后,你会看到数据包像瀑布一样往下刷。这时候别慌,先做一件事:打开浏览器,随便访问一个网站。比如我习惯访问 http://example.com,因为它的流量简单,没有 HTTPS 加密干扰。

你会看到类似这样的输出:

No.     Time           Source                Destination           Protocol    Length    Info
  1   0.000000    192.168.1.100         192.168.1.1            DNS         76        Standard query 0x1234 A example.com
  2   0.001234    192.168.1.1           192.168.1.100          DNS         92        Standard query response 0x1234 A 93.184.216.34
  3   0.002100    192.168.1.100         93.184.216.34          TCP         66        50000 → 80 [SYN] Seq=0 Win=65535
  4   0.002500    93.184.216.34         192.168.1.100          TCP         66        80 → 50000 [SYN, ACK] Seq=0 Ack=1 Win=65535
  5   0.002800    192.168.1.100         93.184.216.34          TCP         54        50000 → 80 [ACK] Seq=1 Ack=1 Win=65535
  6   0.003500    192.168.1.100         93.184.216.34          HTTP        142       GET / HTTP/1.1
  7   0.004200    93.184.216.34         192.168.1.100          TCP         54        80 → 50000 [ACK] Seq=1 Ack=89 Win=65535
  8   0.010000    93.184.216.34         192.168.1.100          HTTP        450       HTTP/1.1 200 OK (text/html)

看到了吗?这就是一次完整的 HTTP 请求过程:DNS 解析 → TCP 三次握手 → 发送请求 → 接收响应。每一个步骤都清清楚楚。

3.5 停止与保存:别让数据白抓了

抓够了就点红色方块停止。这时候有个细节:先停止,再保存。我见过有人直接关窗口,结果提示「未保存的捕获数据将丢失」——嗯,那种感觉就像写了一个小时文档没点保存。

3.5.1 保存文件

点击 File → Save,或者按 Ctrl+S。Wireshark 默认保存为 .pcapng 格式。我建议你养成好习惯:

  • 文件名带上日期和场景,比如 2025-01-15_http_example.pcapng
  • 如果只抓了关键包,可以先用过滤栏过滤,再 File → Export Specified Packets,只保存需要的部分
避坑指南:我曾经有一次抓了 2 小时的包,文件大小 1.2GB。结果保存时没注意磁盘空间,保存到一半报错了。后来我学乖了:抓大流量前,先看一眼磁盘剩余空间。另外,.pcapng 文件可以用 7z 压缩,压缩率很高,能省 80% 的空间。

3.5.2 文件格式对比

格式 扩展名 特点 适用场景
pcapng .pcapng 支持多接口、注释、元数据 日常保存,推荐使用
pcap .pcap 旧格式,兼容性好 需要与其他老工具交换数据时
pcapng.gz .pcapng.gz gzip 压缩,节省空间 长期归档,或传输大文件

3.6 本章小结

到这一步,你已经能完成一次完整的抓包流程了:安装 → 选网卡 → 开始抓 → 停止 → 保存。别小看这五步,这是后面所有分析的基础。我建议你现在就打开 Wireshark,抓一次自己访问网页的流量,看看能不能找到那三次握手和 HTTP 请求。