Wireshark 是一款功能强大的网络协议分析工具,可用于捕获、分析和调试网络流量,在 Mac 系统中使用 Wireshark 需要完成安装、配置、捕获数据及分析结果等步骤,以下是详细操作指南:

安装 Wireshark
官网下载
访问 Wireshark 官方网站(https://www.wireshark.org/),下载适用于 macOS 的安装包(通常为 .dmg 格式)。
安装步骤
- 双击下载的
.dmg文件,打开后拖动 Wireshark 图标到“应用程序”文件夹完成安装。 - 首次启动时,系统可能提示“来自不受的开发者”,右键点击应用图标,选择“打开” > “打开”即可绕过安全限制。
安装依赖工具(可选)
Wireshark 依赖某些命令行工具(如 tcpdump),可通过 Homebrew 安装:
brew install tcpdump
安装后需在“系统偏好设置” > “安全性与隐私”中授权 Wireshark 使用 tcpdump,否则可能无法捕获数据包。
配置 Wireshark 捕获权限
在 macOS 中,Wireshark 需要管理员权限才能捕获网络流量。

- 打开“终端”,输入以下命令为 Wireshark 添加权限:
sudo chmod +s /Applications/Wireshark.app/Contents/MacOS/Wireshark
- 输入管理员密码后,重启 Wireshark 即可正常捕获数据包。
Wireshark 界面介绍
启动 Wireshark 后,界面分为三个主要部分:
| 区域 | 功能说明 |
|----------------|-----------------------------------------------------------------------------|
| 工具栏 | 包含“捕获接口选择”“开始捕获”“停止捕获”“打开文件”等快捷按钮。 |
| 数据包列表 | 显示捕获到的数据包列表,包含时间戳、源地址、目标地址、协议及长度等信息。 |
| 数据包详情 | 点击数据包后,可查看协议树的分层解析(如以太网帧、IP 头、TCP/UDP 头等)。 |
| 数据包原始数据 | 以十六进制和 ASCII 码格式显示数据包的原始内容,便于底层协议分析。 |
捕获网络数据包
选择捕获接口
- 点击工具栏的“接口列表”按钮(通常显示为“en0”“en1”等),选择要监听的网络接口。
- en0:通常代表 Wi-Fi 接口。
- en1:通常代表有线以太网接口。
- lo0:本地回环接口(用于分析本地主机流量)。
- 勾选“使用 promiscuous mode”(混杂模式),可捕获接口上所有流量(默认仅捕获本机流量)。
设置捕获过滤器(可选)
为减少无关数据包,可在“捕获过滤器”输入框中设置过滤规则(语法与显示过滤器不同)。
示例:
- 仅捕获 HTTP 流量:
http - 仅捕获与特定 IP 的通信:
host 192.168.1.100 - 仅捕获 TCP 流量:
tcp
开始捕获
点击“开始捕获”按钮,Wireshark 开始记录网络流量,捕获过程中可随时点击“停止捕获”结束。
分析数据包
数据包列表操作
- 排序:点击列表表头(如“时间”“协议”)可按该列排序。
- 搜索:使用快捷键
Ctrl+F输入关键词(如 IP 地址、端口号)快速定位数据包。 - 标记数据包:右键点击数据包,选择“标记” > “标记帧”,可标记重要数据包(默认标记颜色为绿色)。
数据包详情解析
点击数据包后,“数据包详情”区域会显示协议树结构,可逐层展开查看各层协议信息:

- 以太网层:包含源 MAC 地址、目标 MAC 地址及协议类型(如 IPv4、IPv6)。
- IP 层:显示源 IP、目标 IP、TTL、校验和等信息。
- 传输层:若为 TCP/UDP 协议,可查看源端口、目标端口、序列号、确认号等。
- 应用层:如 HTTP、DNS、FTP 等,可解析具体请求/响应内容(如 HTTP 头部、DNS 查询域名)。
使用显示过滤器
显示过滤器用于在捕获后筛选数据包,语法更灵活,支持逻辑运算(&&、、)和比较运算(、、>、<)。
示例:
ip.src == 192.168.1.100 && tcp.port == 80:筛选来自 192.168.1.100 且目标端口为 80 的 TCP 包。http.request.method == "GET":筛选所有 HTTP GET 请求。dns.qry.type == A:筛选 A 类型的 DNS 查询。
导出数据包
选择需要的数据包(可按住 Shift 或 Ctrl 多选),右键点击选择“导出选定数据包”,可保存为 .pcap 格式(支持 Wireshark、tcpdump 等工具打开)。
高级功能
跟流(Follow Stream)
在“数据包详情”中右键点击 TCP 或 UDP 流,选择“跟随流” > “TCP 流”,可查看完整的会话内容(如 HTTP 请求/响应、SMTP 邮件内容)。
统计分析
通过“统计”菜单可进行流量统计:
- 协议分层统计:查看各协议占比(如 TCP、UDP、HTTP 等)。
- 端点统计:显示通信频繁的 IP 地址、MAC 地址或端口号。
- TCP 流图:可视化 TCP 连接的时序状态(如 SYN、ACK、FIN 等标志位)。
配置文件与颜色规则
- 配置文件:通过“编辑” > “配置文件”可修改界面布局、字体、默认过滤器等。
- 颜色规则:通过“视图” > “着色规则”可自定义数据包颜色(如将 HTTP 流量标记为蓝色、DNS 流量标记为黄色),便于快速识别。
常见问题与解决
捕获不到数据包
- 检查权限:确保已通过
chmod +s授权 Wireshark 使用tcpdump。 - 检查接口:确认选择的网络接口正确(如 Wi-Fi 接口应选择
en0)。 - 关闭防火墙:临时关闭 macOS 防火墙或允许 Wireshark 通过防火墙。
捕获时提示“无权限访问接口”
- 打开“系统偏好设置” > “安全性与隐私” > “隐私”,确保 Wireshark 已勾选“网络”或“辅助功能”权限(根据 macOS 版本不同可能略有差异)。
相关问答 FAQs
问题 1:如何在 Wireshark 中过滤掉本地广播流量?
解答:在显示过滤器中输入 not broadcast,可排除所有目标 MAC 地址为广播地址(ff:ff:ff:ff:ff:ff)的数据包,若需过滤特定协议的广播流量,可结合协议过滤,not arp and broadcast 可排除 ARP 广播包。
问题 2:Wireshark 捕获的文件如何用命令行工具分析?
解答:使用 tcpdump 命令可分析 .pcap 文件,查看文件中的 HTTP 流量:tcpdump -r capture.pcap -A 'tcp port 80',-r 指定文件,-A 以 ASCII 码显示内容,'tcp port 80' 为过滤条件。
