4、Wireshark 快速上手:安装、界面布局、首选项配置、捕获过滤器与显示过滤器

好,咱们直接进入正题。Wireshark 这东西,说白了就是网络工程师的「听诊器」。你网络出问题了,抓包看看,往往比瞎猜管用得多。这一章,我带你把 Wireshark 从安装到核心过滤器捋一遍,保证你学完就能上手干活。

4.1 安装与第一印象

安装没什么特别的,去官网下载对应系统的版本就行。我个人习惯装 64 位稳定版,别追新,稳定第一。

安装小提示: Windows 下安装时,记得勾选「Install Npcap」——这是抓包的核心驱动。我曾经遇到过同事装了半天抓不到包,最后发现是忘了装这个。

装好后打开,你会看到这个界面:

  • 主工具栏:最上面一排图标,开始/停止抓包、打开文件、保存等。
  • 显示过滤器工具栏:紧挨着工具栏下方,绿色文本框,这是你日常用得最多的区域。
  • 数据包列表窗格:中间上半部分,显示所有抓到的包,一行一个。
  • 数据包详情窗格:中间下半部分,选中某个包后,这里会分层展示协议细节。
  • 数据包字节窗格:最下面,显示原始十六进制和 ASCII 数据。

嗯,刚上手可能会觉得眼花。别急,你只需要记住:列表看概况,详情看结构,字节看原始数据。这三个窗格配合着用,大部分问题都能定位。

4.2 首选项配置:让工具更顺手

Wireshark 默认配置够用,但有些地方调一下,能让你效率翻倍。我建议你按下面这几项来配:

  1. 调整时间显示格式:点击 View → Time Display Format,选 Seconds Since Beginning of Capture。这样每个包的时间戳都是从抓包开始算的,方便对比相对时间。
  2. 开启自动滚动:抓实时流量时,勾选 View → Auto Scroll in Live Capture。不然包一多,画面卡住不动,你会以为软件死了。
  3. 配置列显示:右键点击列表顶部的列标题,可以增删列。我一般保留这几列:No.、Time、Source、Destination、Protocol、Length、Info。够用,不乱。
  4. 设置捕获接口:点击 Capture → Options,勾选你要抓包的网卡。如果你不确定用哪个,就选 Any(所有接口)。
注意: 别在生产环境的服务器上长时间抓包。我曾经有一次在核心交换机上抓了半小时,结果磁盘写满了,业务直接挂了。抓包前先估算流量大小,或者设置文件大小上限和自动停止条件。

4.3 捕获过滤器:只抓你想要的

捕获过滤器是在抓包之前就过滤掉不想要的数据。它的语法比显示过滤器简单,但功能也弱一些。说白了,就是「抓之前先筛一遍」,减少磁盘压力和 CPU 开销。

语法格式:协议 方向 类型 值

场景 捕获过滤器表达式 说明
只抓某台主机的流量 host 192.168.1.100 源或目标 IP 为 192.168.1.100
只抓某端口的流量 port 80 HTTP 流量
只抓某网段的流量 net 10.0.0.0/8 10 网段的所有流量
排除广播包 not broadcast 减少干扰
组合条件 host 192.168.1.100 and port 443 抓该主机的 HTTPS 流量
实战经验: 我排查 DNS 问题时,常用 port 53 作为捕获过滤器。这样抓到的包全是 DNS 查询和响应,干净利落,不用在几千个包里翻。

4.4 显示过滤器:强大的事后分析工具

显示过滤器是在抓包之后,对已经抓到的数据包进行筛选。它的语法更丰富,功能也更强大。你想想看,抓了一万个包,你不可能一个一个翻吧?这时候显示过滤器就是你的救星。

语法格式:协议.字段 运算符 值

场景 显示过滤器表达式 说明
只看 HTTP 请求 http.request 只显示 HTTP 请求包
只看特定 IP 的流量 ip.addr == 192.168.1.1 源或目标 IP 为 192.168.1.1
只看 TCP 重传 tcp.analysis.retransmission 网络有丢包时,这个过滤器能帮你快速定位
只看特定端口的流量 tcp.port == 443 HTTPS 流量
组合条件(与) ip.src == 10.0.0.1 and tcp.port == 80 从 10.0.0.1 发出的 HTTP 流量
组合条件(或) dns or http 只看 DNS 或 HTTP 流量
小技巧: 显示过滤器支持自动补全。你输入 tcp. 后,按 Tab 键,Wireshark 会列出所有可用的字段。多试试,你会发现很多好用的字段,比如 tcp.flags.syn == 1 可以只看 SYN 包。

4.5 捕获过滤器 vs 显示过滤器:什么时候用哪个?

很多新手会搞混这两个概念。我直接给你一个判断标准:

  • 捕获过滤器:用在抓包前,目的是减少抓到的数据量。比如你只关心某台服务器的流量,就用 host 服务器IP。
  • 显示过滤器:用在抓包后,目的是从已抓到的数据中快速找到目标。比如你抓了一堆包,现在想只看 TCP 重传,就用 tcp.analysis.retransmission。

说白了,捕获过滤器是「节流阀」,显示过滤器是「筛子」。我个人的习惯是:能用显示过滤器解决的,就不用捕获过滤器。因为捕获过滤器一旦设置错了,你就得重新抓包。而显示过滤器随时可以改,灵活得多。

4.6 知识体系总览

下面这张图,帮你把本章的核心逻辑串起来。从安装到实战,每一步都有它的作用。

Wireshark 快速上手知识体系 Wireshark 快速上手知识体系 安装与 Npcap 驱动 界面布局:列表 / 详情 / 字节窗格 首选项配置:时间 / 列 / 自动滚动 捕获过滤器 抓包前筛选,减少数据量 显示过滤器 抓包后筛选,快速定位 实战排错:DNS / HTTP / TCP 重传 捕获过滤器是节流阀 显示过滤器是筛子

4.7 避坑指南

最后,分享几个我踩过的坑,你遇到了能少走弯路:

  • 捕获过滤器语法写错,Wireshark 不会报错,它只会抓不到任何包。如果你发现抓包结果为空,先检查捕获过滤器是不是写对了。
  • 显示过滤器写错,文本框会变红色。这时候别慌,看看是不是少了个引号或者括号。Wireshark 的提示其实挺友好的。
  • 抓无线网卡流量时,记得开启混杂模式。不然你只能抓到发给自己网卡的包,看不到别人的。
  • 抓包文件别存默认路径。我曾经有一次把抓包文件存在 C 盘,结果系统盘满了,电脑直接蓝屏。现在我都存到 D 盘或者移动硬盘。