文章总结: 文章比较了主流APP抓包工具的优缺点,包括Charles、Fiddler、Sniffmaster、Wireshark和HttpToolkit,详细介绍了Charles在多平台的配置方法,提供了无电脑抓包方案,并针对加密和复杂场景给出了组合工具解决方案。文章建议常规调试使用Charles/Fiddler,加密场景使用Sniffmaster,底层诊断使用Wireshark。
综合评分: 88
文章分类: 安全工具,移动安全,WEB安全,应用安全,网络安全
APP抓包工具分享比较
搞安全的面具侠
搞安全的面具侠
2025年12月9日 16:24
北京
一、抓包原理
不管是APP还是web端,抓包原理都一样,就是利用中间人代理或者是网络层的监听,前者代表那就是本闻分析的查尔斯(Charles ),后面的代表工具就是众所周知的wireshark,直接监听网卡数据。
****注意***:这里面说的仅仅是经过工具的流量,不经过或者是非HTTP/https这些协议的不在这次讨论范围内,比如socket协议等(提前规避杠精)
二、抓包场景
1-安全验证;2-安全排查;3-性能调优;4-参数定位;5-异常排查;
三、抓包工具优劣比较分析
1–查尔斯(Charles):核心优势在于可视化能力突出,并且https解密便捷,针对APP端的常规抓包,用这个比较多,缺点是对ssl pinning绕不过去;
2–Fiddler:这个也是大家常用的工具,优点在于插件多,适配丰富,并且Windows场景适用性强,对Windows环境调试用这个很友好,但是换个系统环境就差很多。
3–Sniffmaster:这个工具用的最多的场景就是金融行业了,主要面向的就是金融app加密破解,pin绕过能力突出,最大的缺点就是不免费,得花钱!!!
4–wireshark:这个不用赘述了,佬们用的很多了,主要是网络层协议的深度解析,多个协议支持能力突出,丢包分析、底层流量查验很厉害,缺点就是操作复杂,需要一定的基础知识。
5–http toolkit:免费的,跨平台应用,新手友好。
四、抓包工具使用(查尔斯为例)
1.电脑端
- 1. 代理设置:菜单栏「Proxy→Proxy Settings」,端口默认 8888,勾选「Enable transparent HTTP proxying」
- 2. HTTPS 解密:进入「SSL Proxying Settings」,点击 Add 输入
*:*(全局捕获),Windows 需安装系统证书 - 3. 获取 IP:Windows 执行
ipconfig查 IPv4,macOS 用ifconfig | grep "inet "
2.Android 端配置(分系统版本)
- • Android 7 以下:
- 1. 连接同一 Wi-Fi,长按网络进入「修改网络→高级选项」
- 2. 手动代理:主机名填电脑 IP,端口 8888
- 3. 浏览器访问
http://chls.pro/ssl下载证书,进入「设置→安全→安装证书」
-
• Android 7 以上:系统默认不信任用户证书,需二选一:
-
• Root 设备:将证书移动至
/system/etc/security/cacerts/目录 -
• 非 Root:修改 APP 的
network_security_config.xml,添加信任配置
3.iOS 端配置
- 1. Wi-Fi 设置:点击网络→「配置代理」→手动输入服务器 IP 和端口
- 2. 证书安装:Safari 访问
http://chls.pro/ssl,在「设置→通用→VPN 与设备管理」安装描述文件 - 3. 信任证书:进入「关于本机→证书信任设置」,启用 Charles 证书
3. 无电脑抓包方案
- • Android:Packet Capture
- 1. 无需 Root,安装后点击开始按钮,系统自动创建 VPN
- 2. 选择目标 APP,捕获完成后可直接查看解密的 HTTPS 请求
- • iOS:Stream
- 1. App Store 下载后,按提示安装证书并信任
- 2. 支持按 APP 筛选流量,自动解析 JSON、XML 响应数据
五、加密或者其他场景处理
一般这个时候,用到的往往都是组合工具,单一工具效能不是很好,比如在面临上面说的金融类APP抓包时候经常会面临,证书锁定,阻止抓包,一般面临这些问题,可以这样:
****Sniffmaster+wireshark:
- *Sniffmaster:真机通过 USB 连接,无需代理和证书,自动绕过 Pin 验证
- * 搭配 Wireshark:用 Sniffmaster 捕获 TCP 流,Wireshark 分析握手过程
- 六、更复杂场景抓包
- 1.SDK封装请求抓不到:工具组合【sniffmaster+postman】,sniffmaster构造回溯参数之后尝试解析一下
- 2.模拟器ok真机失败:工具组合【sniffmaster+wireshark】,实在不行就用usb调试,物理抓包。改一下证书状态啥的。
- 3.无日志流量等:wireshark+本机日志记录文件,看看发包过程有没有,socket协议啥的
七、其他问题排查:
如果这些还是抓不到包,ping一下看看是否联通,代理是否有效,ios或者是安卓系统的证书是否启用,配置正确,最后再看一下app运行是否良好,sniffmaster看一下证书指纹。
总而言之,给佬们的建议,常规调试用 Charles/Fiddler,加密场景用 Sniffmaster,底层诊断用 Wireshark。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:搞安全的面具侠 搞安全的面具侠《APP抓包工具分享比较》