网络工程师、开发人员,以及所有曾被“连不上”问题困扰过的用户,都值得深入了解 Wireshark。它被誉为网络分析界的“瑞士军刀”,完全免费、开源,全球用户量最大,功能也极为硬核。简单来说,这是一款专业的“抓包软件”,能够将电脑网卡上流经的所有网络数据包完整捕获,并清晰展示每条数据的来源、目标、所采用的协议以及具体的交互内容。
在平台支持方面,Wireshark 几乎覆盖所有主流操作系统:Windows、macOS、Linux、UNIX,均能完美运行。内置超过三千种协议的解析器,从基础的 TCP、UDP、HTTP、DNS,到工业协议、物联网协议、VoIP 协议,均可识别和解码。更贴心的是,它拥有极其强大的过滤功能,帮助用户在海量数据包中像做减法一样,快速筛选出目标数据包。
将它与其他几款主流工具进行对比,就能一目了然:
| 对比项 | Wireshark | tcpdump | Fiddler | Charles |
| 价格 | 完全免费 | 免费 | 免费(基础版) | 付费 |
| 平台 | Win/Mac/Linux/UNIX | Linux/macOS | Win 仅 | Win/Mac |
| 界面 | 图形界面 | 命令行 | 图形界面 | 图形界面 |
| 协议解析数量 | 3000+ | 有限 | HTTP/HTTPS 为主 | HTTP/HTTPS 为主 |
| 实时抓包 | ✓ | ✓ | ✓ | ✓ |
| 离线分析 pcap | ✓ | ✓ | ✗ | ✗ |
| 过滤表达式 | ✓ 强大灵活 | ✓ BPF 过滤 | ✓ 基础 | ✓ 基础 |
| 协议统计 | ✓ 丰富 | ✗ | ✗ | ✓ 部分 |
| 支持 HTTPS 解密 | ✓(需配置) | ✗ | ✓ | ✓ |
仅从协议解析数量来看,Wireshark 具备降维打击的优势。当前最新稳定版为 4.6.6(2026 年 6 月发布),在解析器覆盖范围、暗色模式完善、抓包性能优化方面持续改进。对于绝大多数用户,直接下载最新稳定版即可。
Wireshark下载
Wireshark 安装包下载地址:Wireshark 下载(源自官网,放心使用)
Wireshark安装步骤
1)双击下载的安装包启动安装程序。如果系统弹出安全风险提示,点击"运行"。安装向导显示欢迎界面,点击"Next"继续。

2)许可协议页面,直接点击"Noted":

3)直接点击“Next”:

4)选择安装组件。默认会安装 Wireshark 核心程序、TShark(命令行版)等,保持默认勾选即可。

5)建议勾选“Wireshark Deskop Icon”创建桌面快捷方式:

6)选择安装路径。默认在 C:Program FilesWireshark,建议改到 D 盘,比如 D:Wireshark,减少系统盘占用。

7)安装 Npcap 组件,这是安装过程中最重要的一步。Npcap 是一款网络数据包捕获工具软件,是 WinPcap 的改进版,拥有更好的抓包性能且稳定性优异。Wireshark 需要 Npcap 来捕获网络数据包:

8)安装 USBPcap,想抓取 USB 通信数据的可以勾选上,点击 Install:

9)安装过程中,会启动 Npcap 的安装程序:

10)保持默认,点击 Install:

11)Npcap 安装完成后回到 Wireshark 安装程序,等待安装完成,点击"Finish"结束安装:

新手注意事项
Wireshark 安装过程中会自动安装 Npcap,这是抓包必需的底层驱动组件,不要跳过或者取消。如果 Npcap 没有正确安装,Wireshark 启动后在网卡列表中看不到任何可用网卡,无法开始抓包。
Wireshark基础使用
Wireshark 第一次打开时的界面可能会让人有点懵,满屏的协议列表、十六进制数据、颜色标记,看起来像黑客工具。但其实它的核心使用逻辑很清晰:选择网卡开始抓包 → 看到数据包列表 → 用过滤条件缩小范围 → 双击某一条查看详情。一步步来,很快就能上手。
1)选择网卡并开始抓包
打开 Wireshark 后,主界面中央列出了所有可用网卡,每个网卡右边有一个折线图图标,显示实时的流量波动:

选择你要抓包的网卡(比如 Wi-Fi),双击它或者点击左上角的蓝色鲨鱼鳍图标,Wireshark 就会开始捕获该网卡上的所有数据包。抓到的包会实时显示在列表中,捕获过程会持续到手动停止。

2)停止和保存抓包结果
点击红色方块的"停止捕获"按钮(或按 Ctrl E)可以停止抓包。停止后所有已抓到的数据包仍然在列表中,你可以继续分析。

如果需要保存抓包结果供以后分析,按 Ctrl S,选择保存路径和文件名,默认格式是 .pcapng。保存后可以发给同事或者换台电脑用 Wireshark 打开继续分析。
3)使用过滤条件定位数据包
Wireshark 最核心的用法就是过滤。在顶部的过滤栏中输入过滤表达式,按 Enter 就能立即筛选出符合条件的数据包。过滤表达式支持按协议、IP 地址、端口号、数据长度等条件筛选,也支持用 and/or/not 组合多个条件。过滤栏会实时检查语法,表达式有效时显示绿色背景,无效时显示红色,不用担心输错。

以下是最常用的一批过滤表达式:
| 过滤表达式 | 作用 |
http | 只显示 HTTP 协议的请求和响应数据包 |
dns | 只显示 DNS 查询和响应数据包 |
tcp | 只显示 TCP 协议的数据包 |
udp | 只显示 UDP 协议的数据包 |
arp | 只显示 ARP 协议的数据包 |
icmp | 只显示 ICMP(Ping)协议的数据包 |
tls | 只显示 TLS/SSL(HTTPS 握手)数据包 |
dhcp | 只显示 DHCP 协议的数据包 |
ip.addr eq 203.0.113.1 | 只显示与特定 IP 地址相关的所有流量(源或目标) |
ip.src eq 203.0.113.1 | 只显示从该 IP 发出的数据包 |
ip.dst eq 203.0.113.1 | 只显示发往该 IP 的数据包 |
tcp.port eq 443 | 只显示 443 端口(HTTPS)的数据包 |
tcp.port eq 80 | 只显示 80 端口(HTTP)的数据包 |
tcp.port eq 22 | 只显示 22 端口(SSH)的数据包 |
udp.port eq 53 | 只显示 53 端口(DNS)的数据包 |
tcp.srcport eq 8080 | 只显示源端口为 8080 的数据包 |
tcp.dstport eq 8080 | 只显示目标端口为 8080 的数据包 |
frame.len > 1000 | 只显示长度大于 1000 字节的数据包 |
tcp.flags.syn eq 1 | 只显示 TCP 握手 SYN 包(可用于分析连接建立过程) |
tcp.analysis.retransmission | 只显示 TCP 重传包(网络延迟或丢包的标志) |
http.request | 只显示 HTTP 请求数据包(不含响应) |
http.response.code eq 404 | 只显示返回 404 状态的 HTTP 响应 |
tls.handshake.type eq 1 | 只显示 TLS Client Hello(HTTPS 握手的第一步) |
过滤表达式还支持用 and(与)、or(或)、not(非)来组合多个条件。举几个实际场景的例子:
http and ip.addr eq 203.0.113.2 表示只查看某个 IP 的 HTTP 流量,适合调试特定服务器的 Web 接口。
tcp.port eq 443 and not ip.addr eq 203.0.113.1 表示排除某个 IP 的 HTTPS 流量,看看其他设备在访问什么。
http.request or dns 表示同时看 HTTP 请求和 DNS 查询,适合排查网页加载慢时看看是域名解析慢还是请求本身慢。
掌握了这些过滤表达式,在海量数据包中快速定位目标就会轻松很多。
4)查看数据包详情
在数据包列表中双击任意一条数据包,左下方是协议树(显示该包的协议层级,最上面是物理层,往下是网络层、传输层、应用层),右下方是十六进制原始数据。在协议树中点击某个字段(比如 Source IP、Destination Port、HTTP Host),该字段会高亮并在十六进制区同步标记对应的字节位置。

总结
Wireshark 是一款专业但人人可用的网络协议分析工具,下载安装包后,在 Windows 上经过简单的安装流程(包含 Npcap 驱动)就能开始抓包。
Wireshark 支持数千种协议的解析,提供丰富的过滤和统计功能,是排查网络故障、分析接口通信、学习网络协议的必备工具。不管你是网络工程师、软件开发人员还是安全研究人员,花点时间学会 Wireshark 的基本用法,在排查各种"连不上""加载慢""请求失败"的网络问题时会效率高得多。
