Wireshark 零基础入门教程(2026 最新版)
Wireshark 是网络领域最知名的开源协议分析工具,也是网络工程师、运维、安全人员和后端开发几乎必然会用到的一款软件。它的作用说起来很简单:把网络上传输的数据包抓下来,逐层拆开给你看。
这篇教程面向完全没接触过的读者,从装好软件到独立完成第一次抓包分析,全程约 20 分钟。已经会用基本功能的读者,可以直接跳到过滤器手册或故障排查指南。
一、Wireshark 到底能做什么
简单说,Wireshark 能让你看见网络通信的每一个细节:两台机器之间说了什么、说了几遍、哪一句没得到回应、每一句花了多长时间。
三个最常用的场景
- 排查网络故障:网页打不开、接口超时、连接频繁断开,抓个包就能分清是 DNS 没解析、TCP 连不上,还是服务端自己慢。
- 分析应用行为:某个 App 到底往哪些域名发了数据、请求参数是什么、有没有明文传输敏感信息——抓包是唯一可靠的验证方式。
- 学习协议原理:TCP 三次握手、TLS 握手、HTTP 请求流程,书本上抽象的概念在 Wireshark 里都是看得见的具体报文。
它不能做什么
Wireshark 是分析工具,不是攻击工具。它只能被动捕获流经网卡的数据,不能帮别人"破解"什么,也不能跨网段抓取不属于你的流量。此外它对加密流量无能为力——HTTPS 的内容默认是密文,除非配置密钥才能解密。
二、安装与权限配置
Wireshark 是完全免费开源的,官网直接下载,无需注册。Windows 用户也可以从Wireshark 中文站获取各版本安装包。
Windows 安装要点
运行安装程序时,会连带安装 Npcap(Windows 下的抓包驱动),这一步有两个选项务必注意:
- 勾选 Install Npcap in WinPcap API-compatible Mode——保证依赖旧接口的其他工具也能正常工作
- 勾选 Support raw 802.11 traffic——需要抓无线网卡流量时才用得到
安装完成后,第一次启动要右键选择"以管理员身份运行"。没有管理员权限时,接口列表会是空的或者只能看到很少几个。
macOS 安装要点
把 Wireshark 拖进 Applications 后,还需要安装 ChmodBPF 组件(安装包里有),它会把网卡设备的读写权限开放给普通用户组。装完重启一次,接口列表才会正常显示。
macOS 还常在"隐私与安全性"里拦截,需要在系统设置中手动允许。无线抓包则要先关闭 WiFi 或用专用工具切换监听模式。
Linux 安装要点
主流发行版都能直接装:
# Debian / Ubuntu
sudo apt install wireshark
# RHEL / CentOS / Fedora
sudo dnf install wireshark
安装过程中会询问是否允许非 root 用户抓包,选是。然后把当前用户加入 wireshark 组,注销重登生效:
sudo usermod -aG wireshark $USER
验证安装成功
打开 Wireshark,主界面应该能看到网卡列表,每个接口右侧有实时流量波动的折线图。随便选一个正在上网的接口双击,如果数据包开始滚动刷新,说明一切正常。
三、界面五区速览
Wireshark 主窗口分成五块,第一次看会有点懵,记住每块的作用就行:
| 区域 | 位置 | 作用 |
|---|---|---|
| 过滤栏 | 顶部 | 输入显示过滤器,筛出你想看的包。变绿=语法正确,变红=有错 |
| 数据包列表 | 中上 | 按顺序显示每个包的序号、时间、源、目的、协议、长度、概要 |
| 数据包详情 | 中下 | 把选中的包按协议分层展开,可逐级点开查看每个字段 |
| 原始字节 | 底部 | 十六进制与 ASCII 原文,点详情里任意字段会高亮对应的字节 |
| 状态栏 | 最下 | 已捕获/已显示包数、丢包统计、当前配置文件 |
其中数据包详情区是最值得花时间看的。它把数据包按帧 → 以太网 → IP → TCP → 应用层逐层展开,正好对应网络分层模型,看几个包就能对协议结构有具体认识。
四、第一次抓包:跟着做一遍
下面用一个最直观的例子:抓取本机访问某个网站的全过程。
第 1 步:选择正确的网卡
主界面双击你正在上网的那个接口(有流量波动的)。不确定是哪一个,就在命令行用 ipconfig(Windows)或 ifconfig(macOS、Linux)看看本机 IP 属于哪块网卡。
第 2 步:开始前先设一个捕获过滤器
为了不让无关流量刷屏,在捕获选项里给目标网卡设置捕获过滤器,只抓目标站点的流量:
host 93.184.216.34
如果不知道 IP,也可以直接抓全部,后面用显示过滤器筛。第一次建议先抓全部,看到的东西更真实。
第 3 步:开始捕获
点击左上角的鲨鱼鳍图标(或按 Ctrl+E)。此时数据包会开始飞速滚动。
第 4 步:制造流量
打开浏览器访问一个使用 HTTP 的测试站点——注意,现在绝大多数网站是 HTTPS,内容加密后新手看不懂。建议先用 HTTP 站点练习,能直接看到明文请求和响应,理解起来快得多。
第 5 步:停止捕获
点击红色停止按钮(Ctrl+E)。抓到几百个包就够了,再多反而不好找。
第 6 步:找到关键包
在过滤栏输入 http 并回车,列表立刻只剩 HTTP 协议相关的包。点中其中一个,在详情区展开 Hypertext Transfer Protocol,可以看到请求方法、Host、URI、User-Agent 等字段,和浏览器开发者工具里看到的信息一一对应。
再试试右键这个包 → 追踪流 → TCP 流,请求和响应会拼成一段连续文本,非常直观。
五、新手必须记住的 12 个过滤器
不用背,收藏这一节就够了。过滤器语法的完整说明见Wireshark 过滤器完全手册。
| 想看什么 | 过滤器 |
|---|---|
| 某个 IP 的全部流量 | ip.addr == 192.168.1.100 |
| 某个端口 | tcp.port == 443 |
| 只看 HTTP | http |
| 只看 DNS | dns |
| 网页请求 | http.request |
| 服务器错误 | http.response.code >= 500 |
| TCP 重传 | tcp.analysis.retransmission |
| 连接被重置 | tcp.flags.reset == 1 |
| 三次握手的第一个包 | tcp.flags.syn == 1 && tcp.flags.ack == 0 |
| DNS 解析失败 | dns.flags.rcode != 0 |
| 大包(可能分片) | frame.len > 1400 |
| 排除广播干扰 | !arp && !mdns |
六、新手最常遇到的五个困惑
1. 抓到几百个包,看不出哪个重要
正常。新手的通病是试图看懂每一个包,实际上排查时只需要关注关键的几个。先用过滤器缩小范围,再看分析 → 专家信息让 Wireshark 帮你标出异常包。
2. HTTPS 的包全是密文,什么都看不到
这是设计如此。TLS 加密后,Wireshark 只能看到握手过程和加密载荷。想看明文需要配置浏览器导出会话密钥(设置 SSLKEYLOGFILE 环境变量),在首选项里指定该文件即可解密——仅限你自己本地调试使用。
3. 接口列表是空的
Windows 上九成是没有以管理员身份运行;Linux 是没加入 wireshark 组;macOS 是 ChmodBPF 没装或没重启。
4. 抓到的包有校验和错误
如果看到大量 Checksum: 0x0000 [incorrect],多半是网卡校验和卸载(Checksum Offload)造成的假告警——网卡把计算工作交给系统,抓包时还没算完。在首选项 → 协议 → TCP/UDP里关掉校验和验证即可消除。
5. 打开大文件很卡
超过 100 MB 的文件,Wireshark 加载会明显变慢。解决办法:抓包时就加捕获过滤器;或者用命令行 editcap 按时间或大小切分;再或者用 tshark 先过滤出子集再打开。
七、下一步学什么
掌握上面的内容,你已经能独立完成一次完整的抓包分析。建议按这个顺序继续:
- 熟练过滤器——这是效率的分水岭,见Wireshark 过滤器完全手册
- 看懂 TCP 状态——理解三次握手、四次挥手、重传、窗口机制,可参考TCP 三次握手与四次挥手深度分析
- 建立排查流程——把经验固化成可复用的五步法,见网络故障排除完整指南
- 按领域深入——根据工作需要选择方向:视频流分析、VoIP 语音质量、网络取证、Python 自动化分析
- 学会命令行——tshark 适合服务器环境和批量处理,是进阶的必经之路
常见问题
入门阶段最有效的学习方式,是给自己制造问题再解决它——关掉 WiFi 再打开、访问一个不存在的域名、下载一个大文件,每做一件事就抓一次包看看发生了什么。看几十个真实数据包,比读十篇文章管用。更多中文教程请访问Wireshark 中文站。

