一、Wireshark 基础概述
1.1 软件定义与发展
Wireshark 前身为 Ethereal,是遵循开源协议的免费网络数据包分析工具,软件可直接对接主机网卡,捕获流经网卡的网络报文,并按照网络协议分层解析报文数据,可还原数据包源地址、目的地址、通信协议、报文载荷以及 TCP 三次握手等完整通信流程。软件支持 Windows、macOS、Linux 全操作系统,可识别数百种网络协议,覆盖常规互联网协议、工控协议、无线通信协议等场景。

1.2 典型应用场景
1.3 整合版与官方原版区别说明
官方原版 Wireshark 安装完成后,需额外独立安装 Npcap(旧版为 WinPcap)网卡驱动,驱动版本不匹配、安装顺序错误会出现网卡列表空白、无法捕获数据包等问题。本次整合版(中文便携版 v4.4.7.0)做了预制优化:
二、Wireshark 核心功能详解
2.1 多网卡实时捕获与离线报文解析
软件启动后自动枚举本机全部网络适配器,包含有线网卡、无线网卡、虚拟机虚拟网卡、本地回环网卡;用户可单选单网卡抓包,也可同时勾选多网卡并行捕获流量。除实时抓包外,软件支持直接拖拽 .pcap/.pcapng 格式历史抓包文件,实现离线报文复盘分析。
2.2 协议分层解析展示
捕获的数据包按照 OSI 七层模型自动分层展示,分层顺序:帧(Frame)→以太网头部→IP 头部→TCP/UDP 传输层头部→应用层载荷。点击任意协议层级,下方十六进制数据区会同步高亮对应原始字节,直观映射协议字段与二进制数据。

2.3 双类型过滤器(核心功能)
Wireshark 过滤器分为捕获过滤器与显示过滤器两类,语法规则与使用场景不同:
(1)捕获过滤器
在抓包启动前配置,仅捕获满足规则的数据包,不符合条件报文直接丢弃,适用于大流量环境,减少磁盘占用与软件运算开销,语法基于 BPF 规范。
表格
| 仅捕获指定 IP 全量流量 | host 192.168.1.100 |
| 仅捕获 80、443 端口流量 | port 80 or port 443 |
| 仅抓取 TCP 协议报文 | tcp |
| 排除指定 IP 流量 | not host 192.168.1.1 |
(2)显示过滤器
已完成抓包后在现有报文库内筛选数据,不会丢弃原始捕获数据包,语法更丰富灵活,支持协议字段精准匹配。常用筛选语句:
bash
运行
http # 筛选全部HTTP协议报文
dns # 筛选DNS解析报文
tcp.port == 443 # 筛选目标/源端口为443的TCP报文
ip.src == 192.168.1.5 # 筛选来源IP为192.168.1.5的报文
tcp.flags.syn == 1 # 筛选TCP连接建立SYN握手报文
http.request.method == "POST" # 筛选POST类型HTTP请求
frame contains "password" # 筛选载荷包含password关键字的报文
语法校验规则:输入框底色变绿色代表语法合法,红色代表语句书写错误。
2.4 TCP 会话流重组
选中任意一条 TCP 报文,右键依次选择【追踪流】→【TCP 流】,软件自动聚合单次 TCP 会话的全部分段报文,使用双色区分客户端上行数据与服务端下行应答数据;明文传输场景下可直接查看完整 HTTP 请求体、账号明文等载荷内容,HTTP 协议可单独使用【追踪 HTTP 流】。
2.5 数据统计与可视化图表
菜单栏【统计】模块内置多类数据分析工具:
2.6 报文导出与文件存储
捕获数据支持以 pcap/pcapng 标准格式保存,可跨设备分发、二次解析;支持按需导出单条 / 批量报文,单独提取 HTTP 传输的图片、附件等应用层资源文件。

三、同类主流抓包工具横向对比
表格
| 授权费用 | 免费开源 | 基础功能免费 | 商业付费 | 免费开源 | 基础免费、增值功能内购 |
| 运行界面 | 图形 GUI | 图形 GUI | 图形 GUI | 纯命令行 | 移动端图形 GUI |
| 适配平台 | Windows/macOS/Linux | 以 Windows 为主 | Windows/macOS/Linux | Linux/macOS | Android 移动端 |
| 协议支持范围 | 全层级网络协议(链路层起步) | 仅 HTTP/HTTPS 应用层 | 仅 HTTP/HTTPS 应用层 | 全层级网络协议(链路层起步) | 仅 HTTP/HTTPS 应用层 |
| HTTPS 解密方式 | 手动配置 SSL 密钥文件 | 内置代理证书解密 | 内置代理证书解密 | 需额外配置密钥 | 内置 VPN 代理解密 |
| 学习门槛 | 中等偏高 | 低 | 低 | 高(命令行操作) | 低 |
| 移动端抓包 | 需额外组网配置 | 设备代理配置 | 移动端适配完善 | 不支持移动端 | 原生适配安卓 APP 抓包 |
| 适用场景 | 全协议故障排查、协议学习、安全审计 | Web 接口调试 | 跨端接口调试(iOS/Mac) | 无图形界面服务器远程抓包 | 安卓 App 接口抓包 |
选型参考:单纯调试 Web 接口优先选用 Fiddler;分析 TCP 底层握手、非 HTTP 协议故障必须使用 Wireshark;Linux 服务器无桌面环境时,通过 tcpdump 远程抓包导出 pcap 文件,本地 Wireshark 打开分析。
四、Windows 系统分步安装教程
提供整合便携版(新手首选)、** 官方原版(需要持续更新)** 两种安装方案。
方案一:整合便携中文版安装步骤
方案二:官方原版完整安装步骤
- 如需兼容旧版 WinPcap 类软件,勾选Install Npcap in WinPcap API-compatible Mode;
- 普通用户无需抓取 WiFi 原始无线帧,取消勾选Support raw 802.11 traffic;其余选项保持默认,点击 Install;
五、Wireshark 基础抓包实操流程
5.1 选择捕获网卡
软件首页会罗列全部网卡设备,网卡右侧波形动态波动代表当前网卡存在网络流量,选中正在联网的有线 / WiFi 网卡,双击网卡或点击顶部蓝色鲨鱼图标开始捕获。
补充:抓取本机127.0.0.1本地回环接口请求,需要单独选中 Loopback 回环网卡,普通网卡无法捕获localhost流量。
5.2 可选:配置捕获过滤器
抓包启动前点击【捕获】→【选项】,在捕获过滤器输入框填写 BPF 过滤语句,按需限定抓包范围,减少无效报文。
5.3 实时报文筛选(显示过滤器)
报文持续滚动时,在软件顶部过滤器输入栏填写显示过滤语句,回车即时过滤目标报文;不同协议报文默认配色:绿色 TCP 报文、蓝色 DNS 报文、黑色标识异常错误报文。
5.4 报文详情查看
界面分为三栏:
需要查看单次完整 HTTP 会话:右键目标 HTTP 报文→追踪流→HTTP 流。
5.5 停止捕获与报文保存
点击软件顶部红色方形按钮终止抓包,依次点击【文件】→【保存】,选择pcapng格式存储抓包文件,便于后续复盘分析。
六、新手高频问题排查指南
6.1 软件打开无任何网卡列表
故障诱因:Npcap 驱动未安装、驱动版本不兼容、驱动安装权限不足。 解决方案:以管理员身份重新运行 Npcap 安装程序,完整重装驱动后重启 Wireshark。
6.2 无法捕获localhost(127.0.0.1)接口数据
故障诱因:常规网卡不支持回环流量捕获。 解决方案:网卡列表中选中 Loopback 专属回环适配器,使用该网卡抓本地接口请求。
6.3 HTTPS 报文载荷全部为密文乱码
故障诱因:HTTPS 通信基于 TLS 加密,默认无法解析明文。 解决方案:配置浏览器 SSL 密钥日志环境变量SSLKEYLOGFILE生成密钥文件,在 Wireshark 协议配置内导入密钥路径,即可自动解密 HTTPS 报文。
6.4 抓包文件体积过大,软件卡顿
解决方案:进入捕获选项,配置自动分片规则,按固定大小(如 100MB)或时间自动生成新抓包文件,拆分大容量报文。
6.5 海量报文难以定位目标数据
解决方案:抓包前配置捕获过滤器提前过滤无效流量;已完成抓包场景,通过显示过滤器精准筛选指定 IP、端口、协议数据。
七、学习建议
新手优先以 HTTP 协议作为入门练习,过滤器固定输入http只抓取 Web 请求报文,熟悉报文结构、请求行、请求头与返回体;熟练基础筛选与流追踪操作后,再深入学习 TCP 三次握手、重传、拥塞控制等底层协议内容。




