我注意到一个现象,搜"免费抓包工具",Windows 和 Mac 的答案几乎不重样:Windows 的教程里 Fiddler 出场率最高,Mac 的教程里清一色 Proxyman 和 Charles ,聊到底层又都是 Wireshark 。这种现象背后是生态惯性:Windows 教程多出自 .NET 和前端社区,Mac 教程多出自 iOS 开发者,工具选择跟着社区走,未必跟着需求走。平台不同、工具不同,但踩的坑一模一样------证书装不上、pinning 抓不到、不走代理的程序收不到流量,TraceEagle 就可以解决上述问题。免费抓包工具 Windows 和 Mac 怎么选,换个角度:先列需求再选平台,按平台和需求选择,比跟着教程装一堆工具强。下面按四类情况拆开。
一、Windows 上免费抓包
Fiddler 是 Windows 上最常用的免费选择:代理抓包、装根证书解 HTTPS,免费版日常调接口够用,FiddlerScript 改请求能力强。上手路径:装好默认监听 8888 端口,浏览器走系统代理自动进,装根证书后 HTTPS 变明文;改请求用 FiddlerScript 或右键断点,改完放行。一个常见坑:证书装了浏览器能解、App 解不了,多半是证书只进了用户信任区,需要装进受信任的根证书颁发机构。
mitmproxy 开源跨平台,命令行加 Web 界面,脚本扩展深,适合自动化:录一段流量,用 Python 脚本过滤、改写、重放,自动化测试里很常见。Wireshark 看底层:DNS、TCP、任意协议逐包分析,免费开源没有对手。whistle 规则配置驱动,一条规则把接口指到本地文件,前端 Mock 联调不用等后端。
命令行快速上手:
bash
# Wireshark 的命令行版,抓 443 端口
tshark -i eth0 -f "tcp port 443"
# mitmproxy 起代理,默认 8080
mitmproxy -p 8080
二、macOS 上免费抓包
Mac 上 Wireshark 和 mitmproxy 同样免费可用,底层分析和脚本场景和 Windows 一致。Proxyman 是 macOS 上的轻量选择,界面干净,免费版覆盖日常调试;Charles 是付费工具,试用期 30 天,长期用不算免费。注意别被"免费下载"误导------不少工具的下载免费,但核心功能(改包、重放、会话保存)锁在付费版里。
装证书的路径和 Windows 不一样:Windows 装进系统证书库,Mac 要装进钥匙串,并把信任级别改成"始终信任",这一步漏了 HTTPS 全是密文。Wireshark 在 Mac 上解 HTTPS 需要导会话密钥(SSLKEYLOGFILE),配置方式和 Windows 一致。
三、两个平台要统一
团队里有人用 Mac、有人 Windows,抓包工具不统一,麻烦不在工具本身,在协作:同一份流量两边看到的字段对不上、导出的结果格式不一致、互相看不懂对方贴的截图。实际协作里最常见的画面:Windows 同事贴出来的是 Fiddler 格式,Mac 同事用的是 Proxyman,两边字段顺序都不一样,对同一个问题要来回确认。跨平台工具解决的是这层问题------一套界面、同一套操作和导出格式。TraceEagle 在 Windows、Linux、Mac 上是同一套界面和视图,iOS 免越狱、Android 免装证书,移动端和桌面端在同一个工作区里看,跨平台团队联调时少一层沟通成本。
移动端是另一层:Windows 和 Mac 各有各的装证书流程,移动端再叠一层就乱套了;iOS 免越狱、Android 免装证书的抓法,在跨平台工具里才统一得了。
四、免费之外的能力需求
免费工具的分水岭在能力覆盖。代理路线的共同边界摆在那里:证书固定的 App、不走系统代理的程序、Java/Python/Rust 这类独立信任库、HTTP/3 走 UDP------这些场景代理类免费工具会断。具体到场景:分析一个做了证书固定的 App,代理类工具列表里全是握手失败;切应用层抓包,从程序内部直接取明文,pinning 拦不到。这类目标在移动端测试里越来越常见。要覆盖这些,免费工具里只有多抓法方案做得到,比如 TraceEagle抓包鹰:网卡直抓看全量、应用层取明文绕开 pinning、密钥源解密底层流量,全都免费且不阉割功能。
免费抓包工具 Windows 和 Mac 怎么选,先按平台定候选,再按目标定抓法------证书固定这类目标,代理类免费工具再熟练也拿不到。
提醒:区分"免费"和"免费版"。Wireshark、mitmproxy 是真开源免费;Fiddler 免费版够用但功能有边界;Charles 是付费工具。选之前先确认自己要用的能力在免费范围内。
四类情况选择:Windows 日常调接口用 Fiddler 或 mitmproxy ,Mac 用 Proxyman ,底层分析两边都用 Wireshark ,要统一协作或啃证书固定这类硬目标,用多抓法跨平台方案TraceEagle抓包鹰。具体判断标准:底层怀疑(DNS 异常、握手失败、重传)直接上 Wireshark;日常接口调试代理类最快;涉及 App 内证书固定或自研加密,多抓法方案兜底。免费抓包工具不少,每个平台留一个代理类加一个底层分析就够,跨平台协作需求出现时再加一体化方案,比装一抽屉吃灰的工具实际。