mac抓包有四种方法:一、charles代理抓取http/https,需配置系统代理与ssl证书;二、wireshark捕获全协议栈原始包,支持深度过滤与流追踪;三、蓝牙共享实现ios无线抓包,配合wireshark分析;四、tcpdump命令行轻量抓包,支持保存与文本提取。

如果您希望在Mac系统中捕获并分析应用程序或浏览器发出的网络请求,则需借助专业抓包工具对HTTP/HTTPS流量进行拦截与解析。以下是实现该目标的多种可行路径:
一、使用Charles进行HTTP/HTTPS抓包与分析
Charles是一款专为Mac设计的图形化代理式抓包工具,通过设置系统级HTTP(S)代理,可完整捕获本地及移动设备经由Mac转发的请求与响应数据,支持重发、篡改、断点调试与域名过滤等深度分析功能。
1、访问Charles官网下载最新版.dmg安装包,双击挂载后将Charles拖入Applications文件夹完成安装。
2、首次启动时,若系统弹出“是否允许网络监控”提示,点击允许以授予辅助功能与网络代理权限。
3、打开Charles菜单栏,依次选择Proxy → macOS Proxy,勾选启用系统代理。
4、进入Proxy → Proxy Settings,确认HTTP代理端口为8888;如需抓取HTTPS请求,还需进入SSL Proxying Settings,点击Add添加通配规则(Host: *,Port: 443)。
5、点击菜单栏Help → SSL Proxying → Install Charles Root Certificate,将证书安装至“系统”钥匙串,并双击证书→展开“信任”→设置始终信任。
二、使用Wireshark进行底层协议抓包分析
Wireshark适用于需要查看OSI模型第二层(数据链路层)至第七层(应用层)原始帧结构的场景,可捕获包括ARP、ICMP、TCP、UDP、DNS及自定义协议在内的全部网络通信,尤其适合分析MAC地址表更新、VLAN标签、无线帧头等底层行为。
1、从wireshark.org下载适用于Apple Silicon或Intel架构的最新安装包,安装时同步安装Npcap或Chaosreader组件(Mac平台实际依赖libpcap与AirPcap驱动)。
2、启动Wireshark后,在主界面选择对应网卡接口(如en0代表Wi-Fi,en1代表有线),若需捕获802.11无线帧,需先按住Option键点击菜单栏Wi-Fi图标,选择打开无线诊断 → 嗅探器,并手动指定信道与带宽。
3、点击左上角开始捕获按钮(蓝色鲨鱼图标),此时界面实时显示原始数据包流。
4、在顶部过滤栏输入显示过滤器,例如:http.host contains "api.example.com" 或 ip.addr == 192.168.1.100,快速定位目标流量。
5、右键某条HTTP请求包,选择Follow → HTTP Stream,即可查看完整请求-响应会话内容。
三、通过蓝牙共享实现iOS应用无线抓包
当无法使用Wi-Fi共网环境(如企业网络限制代理)时,可通过macOS内置蓝牙共享功能建立独立通信通道,使iPhone流量经由Mac蓝牙接口转发至Wireshark,规避传统代理配置限制,适用于特定封闭测试场景。
1、进入Mac系统偏好设置 → 共享,启用互联网共享,并将共享方式设为蓝牙 PAN;同时启用蓝牙共享服务。
2、在iPhone上打开蓝牙,搜索并连接Mac广播的蓝牙设备名称(如“MacBook Pro”的蓝牙PAN服务)。
3、启动Wireshark,在接口列表中识别并选择以bluetooth0或类似命名的蓝牙网络接口。
4、点击开始捕获,随后在iPhone上启动待测App并触发网络行为,Wireshark将捕获其经蓝牙通道发出的原始IP数据包。
5、使用过滤器tls || http分离加密与明文流量,对TLS握手过程进行解密需提前配置Wireshark的RSA密钥列表(仅限已知私钥的HTTPS服务)。
四、利用终端命令行工具进行轻量级抓包
对于无需GUI界面、仅需快速验证连接性或提取关键字段的调试场景,macOS原生提供的tcpdump命令可直接捕获原始数据包并输出至控制台或文件,资源占用低,适合CI/CD流水线集成或远程服务器调试。
1、打开Terminal,执行命令:sudo tcpdump -i en0 -s 0 -w capture.pcap port 80 or port 443,其中en0为当前活跃网卡,capture.pcap为保存路径。
2、复现网络操作(如Safari访问网页),完成后按Ctrl+C终止捕获。
3、使用命令:tcpdump -r capture.pcap -A | grep -i "host\|get\|post",提取HTTP请求行与Host头信息。
4、如需分析HTTPS,可附加参数-v查看TLS握手详情(ClientHello/ServerHello),但无法解密应用层内容。
5、将生成的capture.pcap文件拖入Wireshark中,即可进行可视化深度解析与协议层级展开。











