0. 前言
通用的抓包工具选择不多,几年前就已经形成稳定局面,如今也不再有新产品/新特性出现。故本文从可用性上对比wireshark和fiddler,前者是目前全世界最广泛的网络封包分析软件之一,免费且开源,后者是是一个http协议调试代理工具,典型功能:移动端抓包和断点调试。
1. 安装
fiddler在Mac上的安装需要不止一步,通过命令行启动;依赖mono,“Fiddler是使用C# 编写的http抓包工具,Mac OS系统使用.Net编译后的程序,需要安装Mono”;在Mac上的启动命令为:sudo mono --arch=32 Fiddler.exe;安装教程很多;
wireshark在Mac上的安装就是dmg包,直接下载并安装即可;
2. 界面
fiddler在Mac上的界面比较原始,卡顿不流畅,每进来一个请求会刷新列表,频率过高“很闪”;
wireshark在Mac上的界面非常友好;
3. 过滤器
fiddler的过滤器大多以多选按钮的形式展现,灵活性低可选项有限;
wireshark的过滤器就很清晰了,表达式的形式,有自动补全;
4. 断点
fiddle用法参考:https://blog.youkuaiyun.com/wanglin_lin/article/details/78001506
修改请求与相应内容;
5. 移动端抓包
fiddler是比较好的选择,只要运行fiddler的机器和移动设备在一个局域网,配置代理并下载证书(用于抓HTTPS包);一般要开启HTTPS、过滤出来自移动端的事务,前者参考:https://blog.youkuaiyun.com/idlear/article/details/50999490,后者参考:https://blog.youkuaiyun.com/yu1014745867/article/details/73222032;
wireshark需要移动设备使用运行wireshark的机器的热点,这种要求有时无法满足;
6. 本机抓包
wireshark是比较好的选择,从各方面来讲,都比较舒服。