需依次完成四步:一、官网下载适配芯片的安装包,拖入Applications并运行ChmodBPF.pkg授权;二、安装XQuartz并重启,首次启动Wireshark时指定其路径;三、安装Xcode命令行工具及MobileDevice相关pkg,用rvictl -s [UDID]启用iOS抓包;四、在隐私设置中授予Wireshark完全磁盘访问与网络分析权限,并执行sudo chmod 755 /dev/bpf*验证。

如果您希望在Mac系统上成功安装Wireshark并开展网络抓包分析,但遇到权限缺失、网卡不可见、手机抓包失败或界面异常等问题,则可能是由于安装流程不完整、依赖组件缺失或X11兼容性配置未就绪。以下是解决此问题的步骤:
一、下载与基础安装
Wireshark依赖macOS原生框架及内核扩展支持,需从官网获取适配当前系统版本(如macOS 12.5及以上)的Intel或Apple Silicon架构安装包,确保二进制兼容性与签名有效性。
1、访问Wireshark官方下载页面:https://www.wireshark.org/download.html。
2、在“macOS”分类下,根据您的芯片类型选择对应安装包:macOS Intel 64-bit .dmg(M1/M2/M3芯片用户请确认是否标注“Universal”或选择ARM64版本)。
3、双击下载完成的.dmg文件,将Wireshark.app拖入Applications文件夹。
4、双击运行安装包内附的ChmodBPF.pkg,全程按提示输入管理员密码完成安装,该组件用于授予Wireshark访问BPF设备的必要内核权限。
二、修复X11图形界面缺失问题
Wireshark在旧版macOS或未预装X11环境时会因缺少X Window System后端而无法启动GUI,此时需手动部署XQuartz作为替代实现。
1、前往XQuartz官方站点:https://xquartz.macosforge.org/landing/,下载最新稳定版(如XQuartz-2.8.0+)。
2、双击安装包执行安装,安装完成后必须重启Mac系统,否则X11服务不会被正确注册。
3、重启后首次启动Wireshark,若仍弹出X11路径提示框,请点击Browse按钮,在“应用程序→Utilities”中定位并选择XQuartz.app,而非旧版X11.app。
三、启用iOS设备抓包所需的rvictl配置
在Mac上对连接的iOS设备进行网络流量捕获,需通过Apple提供的rvictl工具创建rvi0虚拟接口,该过程依赖Xcode命令行工具链与MobileDevice开发包。
1、打开终端,执行:xcode-select --install,安装Command Line Tools(若已存在则跳过)。
2、确认Xcode已安装且路径正确,检查:ls /Applications/Xcode.app/Contents/Resources/Packages/,确保列表中包含MobileDevice.pkg与MobileDeviceDevelopment.pkg。
3、依次双击安装上述两个pkg文件,安装完成后重启终端。
4、使用iTunes或Finder获取iOS设备UDID(设备序列号),执行:rvictl -s [your_device_udid],成功返回[success]即表示rvi0接口已就绪。
四、解决“无可用接口”或“Permission denied”错误
即使完成ChmodBPF安装,部分macOS版本(尤其是启用了SIP或TCC限制的系统)仍可能阻止Wireshark访问网络接口,需手动授权并验证内核扩展状态。
1、在“系统设置→隐私与安全性→完全磁盘访问”中,点击右下角锁图标解锁,将Wireshark.app拖入授权列表。
2、进入“网络分析”权限项(macOS Ventura及以上),同样添加Wireshark.app并启用。
3、终端中执行:sudo chmod 755 /dev/bpf*,临时赋予BPF设备读写权限(重启后失效,仅用于验证)。
4、检查BPF设备数量:ls /dev/bpf*,正常应显示
五、配置抓包过滤与实时分析
为避免海量数据干扰,Wireshark需在捕获阶段或显示阶段施加精准过滤,尤其在监听共享网络或rvi0接口时,必须限定目标协议与地址范围以提升可读性。
1、启动Wireshark后,点击主界面左上角“Capture Options”按钮(齿轮图标)。
2、在接口列表中勾选目标接口:本地WLAN网卡、rvi0(iOS设备)、或bridge100(Internet共享桥接接口)。
3、在“Capture Filter”栏输入过滤表达式,例如:host 192.168.2.100 and port 443,仅捕获指定IP的HTTPS流量。
4、点击Start开始捕获,执行目标操作(如Safari访问网页、微信发送消息)后,点击红色方块按钮停止。
5、在顶部显示过滤栏(Filter box)输入显示过滤器,例如:http.request.method == "POST",快速定位HTTP请求行为。

















