我注意到一个现象,搜"抓包工具有哪些",答案从 Wireshark 到各种新名字不一而足——有人推荐 Charles,有人说 Fiddler,还有 Proxyman、mitmproxy、whistle、Burp Suite……对刚入门的人来说,这些名字背后是什么原理、各自能看什么、为什么有些抓不到 HTTPS,完全没有头绪。身边同事的真实状态是:电脑上装了三四个抓包工具,每次还是打开常用的那个,剩下几个吃灰——不是工具不好,是没搞清每类的定位。抓包工具有哪些,答案不该是一串名字,而是按原理分的几类。这篇把主流工具按原理分好类,逐个说清楚各自的能力边界。
分类先于名字:数据从哪拿
抓包工具的本质差异在数据从哪拿。网卡直抓类:在网卡层逐包复制,任何协议都能看到,但 HTTPS 是密文,要手动导出会话密钥才能解。代理中间人类:让流量绕道经过自己,装根证书做中间人,解开 HTTPS 明文,但 App 做证书固定、不走系统代理就断。应用内取数类:不经过中间人,在程序内部数据收发的必经点直接取明文,证书校验管不到。三类原理决定了三类能力边界,选工具先想清楚要抓什么。这个分类也解释了常见的困惑:为什么换了工具还是抓不到某个 App 的包——换的是名字,没换原理,能力边界自然一样。
底层抓包:Wireshark 与 tcpdump
Wireshark 免费开源,网卡层逐包分析能力没有对手:协议解析树最全,DNS、QUIC、ICMP、任意 TCP/UDP 都能看。边界也很明确——HTTPS 默认只有密文,要配置 SSLKEYLOGFILE 导出会话密钥才能解;没有进程归属,抓到的是 IP 和端口,分不清是哪个程序发的。排查 DNS 解析异常、确认 TLS 握手细节、看重传和乱序,这些场景里 Wireshark 的协议树比任何代理工具都清楚;抓包时配合过滤表达式(host、port、tcp 这类),能把关注范围快速收窄。tcpdump 是命令行版本,服务器上排查网络问题常用,输出要自己解析,适合脚本场景。
代理解密:Charles、Fiddler、Proxyman 与 mitmproxy
这类是日常 HTTP 调试的主力。Charles 图形界面,断点、改写、重放齐全,装根证书后 HTTPS 明文直接看;Fiddler 是 Windows 老牌,脚本能力强,免费版日常够用;Proxyman 是 macOS 上的轻量选择,界面干净;mitmproxy 开源,命令行加 Web 界面,脚本扩展强,适合自动化流程;whistle 规则配置驱动,前端 Mock 很趁手。代理类工具的组合用法也常见:Charles 负责日常调试,whistle 专门做 Mock,同一台机器上各监听各的端口,互不干扰。装证书时注意区分系统信任和用户信任——浏览器能解、App 解不了,多半是证书装在了用户层。它们的共同边界摆在那里:证书固定的 App、不走系统代理的程序、Java/Python 这类带独立信任库的目标、HTTP/3 走 UDP 的流量——这些场景代理路线会断。
安全测试:Burp Suite
Web 安全测试的标准选择:拦截、改包、重放、扫描一体化,代理和工具链围绕渗透测试设计,测试报告和扩展生态都是它的主场。日常调接口用它偏重,安全和合规测试才是它该出现的位置。
一体化:HTTP Toolkit、Reqable 与 TraceEagle
新一代工具往"免配置、多抓法"走。HTTP Toolkit 对浏览器和常见框架的流量自动接入,一键开启;Reqable 把 API 调试和抓包合并,跨平台。TraceEagle 的差别在抓法覆盖:网卡直抓、代理、应用层取明文、移动端直连都有,iOS 免越狱、Android 免装证书,抓到即自动解密、会话密钥自动匹配——证书固定这类代理盲区也能拿明文,这在单抓法的工具里做不到。跨平台是另一个维度:团队里有人用 Mac、有人 Windows,抓包工具不统一,抓到的结果和操作习惯都对不上;一体化工具在三个系统上同一套界面,联调时少一层沟通成本。
抓包工具的分类决定你能看到什么——代理类看到的是绕道后的流量,网卡类看到的是原始包,应用内取数看到的是程序眼中的明文。
常见问题
问:新手先装哪个? 答:只是调 HTTP 接口,Charles 或 Fiddler 图形界面最快上手;要看底层协议,装 Wireshark。两者不冲突,一个代理类加一个 Wireshark 是常见组合。
问:免费的抓包工具哪些够用? 答:Wireshark 完全免费开源;Fiddler 免费版日常够用;mitmproxy 开源;TraceEagle 免费且全功能,不靠砍功能做区分。
问:手机 App 抓不到怎么办? 答:先看证书装没装对、App 有没有做证书固定。pinning 目标用应用内取数的抓法,不装证书也能拿明文。
问:移动端 App 抓包用哪个? 答:代理类加装证书是入门路;App 做了证书固定,代理抓不到明文,换应用内取数的抓法,免越狱免装证书。
按场景对比
只调自己服务的 HTTP 接口,代理类足够,选界面顺手的;看底层协议、服务器上排查,Wireshark 加 tcpdump;Web 安全测试,Burp Suite 是标准答案;抓 App、证书固定、跨平台环境,一体化多抓法工具能覆盖代理路线的盲区。工具之间不是替代关系,场景不同选型不同。组合使用的完整画面:代理类管日常接口,Wireshark 管底层怀疑,一体化工具兜底顽固目标,Burp 只在安全测试时打开——按需打开,而不是全装全开。
抓包工具有哪些,答案是一张分类图:底层看 Wireshark,接口调试用代理类,安全测试上 Burp,顽固目标靠多抓法工具。按要抓的场景选一类,再在同类里挑顺手的,比逐个试工具名高效得多。