必须先解决内核设备权限、X11图形后端缺失、网络接口识别与混杂模式启用四个环节:下载匹配芯片的.dmg安装包,拖入Applications并运行ChmodBPF.pkg授予权限;安装XQuartz并重启系统以支持GUI;在Wireshark中选对网卡(如en0)、启用混杂模式后启动捕获;用ping触发流量验证抓包链路,再用显示过滤器(如icmp或ip.addr==xxx)聚焦分析。

要在Mac上完成Wireshark的图形化抓包,必须先解决内核设备权限、X11图形后端缺失、网络接口识别与混杂模式启用这四个关键环节,缺一不可,否则启动即报错或界面空白、无包可捕。
下载并安装Wireshark主程序与BPF权限组件
访问 Wireshark官网下载页,在macOS分类下根据芯片类型选择安装包:Intel芯片选“macOS Intel 64-bit .dmg”,Apple Silicon(M1/M2/M3)务必选标有“Universal”或明确注明“ARM64”的版本,选错会导致应用无法启动。
双击下载好的.dmg文件,将Wireshark.app拖入Applications文件夹;接着双击同目录下的ChmodBPF.pkg,全程按提示输入管理员密码完成安装——这一步授予Wireshark读写/dev/bpf*设备的底层权限,【跳过此步将直接导致“Permission denied”错误,且后续chmod命令无效】。
配置XQuartz以支撑图形界面正常启动
Wireshark依赖X Window System渲染GUI,而macOS自10.8起已移除原生X11支持,必须用XQuartz替代。
方法一:前往 XQuartz官网 下载最新稳定版(如XQuartz-2.8.5+),双击安装后必须重启Mac,否则X11服务不注册,Wireshark仍会弹出路径错误提示。
方法二:若已安装但首次启动Wireshark仍提示“X11 not found”,点击Browse按钮,在“应用程序→Utilities”中手动定位并选择XQuartz.app——注意不能选旧版残留的X11.app,路径错误会导致界面崩溃或黑屏。
选择网卡并启用混杂模式开始捕获
第一步:打开Wireshark,主界面下方“Interface List”区域列出所有可用接口。常见对应关系为:Wi-Fi → en0,有线以太网 → en1,虚拟机网卡 → vboxnet0等。
第二步:确认当前联网所用接口。打开终端,执行 ifconfig | grep "inet " | grep -v 127.0.0.1,比对输出中的IP地址与你实际使用的网络(如192.168.1.x),找到对应en编号。
第三步:点击该接口右侧齿轮图标 → 勾选Capture packets in promiscuous mode → 点击Start。混杂模式开启后,Wireshark才能捕获局域网内经该接口转发的所有帧,而非仅发往本机的数据包。
第四步:点击绿色鲨鱼图标(Start capturing packets)正式开始捕获。此时若界面持续空白,说明权限、X11或接口三者中至少有一项未就绪。
触发流量并验证抓包是否生效
切换到终端,执行 ping -c 4 www.baidu.com,然后立即切回Wireshark界面。
观察数据包列表:若出现源IP为你本机、目的IP为百度服务器、协议列为ICMP的条目,说明基础抓包链路已通;若同时看到ARP请求、DNS查询、TCP SYN包,则证明混杂模式与接口选择均正确。
这一步操作起来很简单,直接把ping命令敲完回车就行,但它是唯一能快速验证整个安装配置是否闭环的关键动作——没有真实流量触发,Wireshark永远显示空列表。
用显示过滤器聚焦目标协议或IP
方法一:在顶部Filter栏输入 icmp 回车,界面立即只显示ICMP协议包;输入 http.request.method == "GET" 可筛选浏览器发出的HTTP GET请求。
方法二:想看特定设备通信,比如手机IP是192.168.1.105,直接输 ip.addr == 192.168.1.105;语法错误时过滤框变红,正确则变绿,这是实时校验机制。
注意:过滤表达式区分大小写,== 和 eq 效果相同,但 = 会报错;过滤器只作用于已捕获或正在捕获的数据,不能回溯未开启捕获前的流量。











