2. 抓包工具入门:Wireshark的安装与界面介绍、抓包过滤器与显示过滤器、捕获选项设置
好,咱们正式开始动手了。工欲善其事,必先利其器。抓包分析这个活儿,Wireshark 就是咱们手里最趁手的家伙。这一章,我带你把它装好、跑起来,再把那几个最关键的界面和过滤器搞明白。别急,一步步来。
2.1 安装与第一印象
Wireshark 的安装其实没什么玄学。去官网下载对应你操作系统的版本,一路 Next 就行。但有个坑,我当年第一次装的时候就踩过——安装过程中会提示你安装 WinPcap 或 Npcap,这个必须装!它是 Wireshark 抓包的底层驱动,不装的话,软件能打开,但一个包都抓不到。
装完之后打开,你会看到这样一个界面。嗯,说实话,第一次看确实有点懵。别怕,咱们只抓重点。
2.2 界面核心区域速览
Wireshark 的界面,说白了就四大块。我把它拆开讲,你对照着看,五分钟就能上手。
| 区域 | 名称 | 一句话说明 |
|---|---|---|
| ① | 菜单栏 & 工具栏 | 文件操作、捕获控制、各种快捷按钮 |
| ② | 数据包列表区 | 抓到包都列在这里,一行一个包 |
| ③ | 数据包详情区 | 选中某个包,这里展示它的协议层级 |
| ④ | 数据包字节区 | 最原始的 16 进制和 ASCII 码 |
我个人习惯,刚打开界面时,先把工具栏下面的过滤器工具栏找出来。它就在“Capture”和“Display”两个输入框的位置,这是咱们后面最常用的地方。
2.3 捕获选项设置:别一股脑全抓
很多人一上来就点那个绿色的“鲨鱼鳍”按钮开始抓包。结果呢?抓了几万包,全是自己电脑的广播流量,想找的目标数据淹没在汪洋大海里。这就是没设置捕获选项的后果。
点击菜单栏 Capture → Options,或者直接点工具栏那个齿轮图标。这里有几个关键设置,我一个个说。
- Interface(接口):选对网卡。你用的是有线就选以太网,用 Wi-Fi 就选无线网卡。别选错了,否则啥也抓不到。
- Capture Filter(捕获过滤器):这是重点。它决定哪些包能进到 Wireshark 的内存里。比如你只想抓和 192.168.1.1 的通信,就在这里写
host 192.168.1.1。 - Promiscuous Mode(混杂模式):默认勾上。意思是你的网卡会接收所有经过它的包,不只是发给自己的。做故障排查时,这个必须开。
2.4 抓包过滤器 vs 显示过滤器:本质区别
这是新手最容易搞混的地方。我打个比方你就明白了。
- 抓包过滤器:像个门卫。它决定谁可以进门。没被允许的包,根本进不来,你也看不到。
- 显示过滤器:像个图书管理员。所有包都已经在图书馆里了(已经抓下来了),管理员帮你从书架上挑出你需要的书。
所以,抓包过滤器是事前的,显示过滤器是事后的。抓包过滤器用 BPF(Berkeley Packet Filter)语法,显示过滤器用 Wireshark 自己的语法。
| 对比项 | 抓包过滤器 (Capture Filter) | 显示过滤器 (Display Filter) |
|---|---|---|
| 作用时机 | 抓包开始前 | 抓包开始后 |
| 语法 | BPF (如 host 1.1.1.1) |
Wireshark 语法 (如 ip.addr == 1.1.1.1) |
| 是否丢弃数据 | 是,不符合的直接丢弃 | 否,只是隐藏,数据还在 |
| 典型场景 | 只抓特定 IP,减少文件大小 | 在已抓包中分析特定协议 |
2.5 常用过滤器语法速查
你不需要背下来,但常用的几个得记在脑子里。我列个清单,你直接复制粘贴用就行。
抓包过滤器(写在 Capture Filter 框里)
# 只抓与特定主机的通信
host 192.168.1.1
# 只抓特定端口的流量(比如 HTTP)
port 80
# 只抓特定网段的广播包
net 192.168.1.0/24
# 排除某个 IP(不抓它的包)
not host 10.0.0.5
显示过滤器(写在 Display Filter 框里)
# 只看某个 IP 的流量
ip.addr == 192.168.1.1
# 只看 HTTP 协议
http
# 只看 TCP 端口 443 的流量
tcp.port == 443
# 只看 DNS 查询或响应
dns
# 组合条件:来自 1.1.1.1 且是 UDP
ip.src == 1.1.1.1 and udp
http,结果一个包都没显示。折腾了半天才发现,那个网站用的是 HTTPS,协议是 tls,不是 http。所以,先搞清楚你找的是什么协议,再写过滤器。
2.6 知识体系:Wireshark 入门核心逻辑
下面这张图,是我自己总结的 Wireshark 入门阶段的核心逻辑。你顺着这个流程走一遍,基本就入门了。
2.7 实战小技巧:颜色规则
Wireshark 默认会给不同协议标上颜色。比如 TCP 是淡紫色,UDP 是淡蓝色,HTTP 是绿色。这个功能很实用,你一眼就能看出流量类型。
但我建议你别太依赖默认颜色。我自己一般会自定义一套规则:把所有错误包(TCP 重传、RST 包)标成醒目的红色。这样在排查网络丢包或连接中断时,一眼就能看到问题点。
设置路径:View → Coloring Rules。你可以在这里添加自己的规则。比如我加了一条:tcp.analysis.retransmission 设为红色背景。嗯,这个习惯帮我省了不少时间。