更好用的抓包工具 proxyman

18 min read

代理调试

代理调试是指通过代理 HTTP/S 请求来捕获请求信息。

这种调试主要是通过分析网络数据来定位问题,所以客户端环境无关,只要是基于 TCP 的 HTTP/S协议都可以被代理处理。

代理软件 proxyman 的 Mac 桌面端也是功能强大的,并且在界面 UI 上独树一帜。

Proxyman 是一款直观易用的 HTTP 调试工具,拥有出色的 UI 和交互设计, 性能强劲资源占用低。自动生成证书,轻松在 Mac 端启用 SSL 代理抓包,并且集成移动设备的调试。监控应用和 SSL Web 服务器之间所有的 HTTP / HTTPS 流量,方便开发人员进行数据观察及流量分析。
相比Charles,有自身的特点。可以随意布局,可以多设备分别管理,一屏可以预览所需的关键信息,其他内容还待摸索。

proxyman-desktop.jpg

远程网络调试

需要移动端设置代理 host 和端口。这里的 host 指定域名或直接指定目标 ip(减少 DNS 解析时间)。不同于 GUI 代理软件,远程代理调试是代理到服务器上的,所以代理软件不会有GUI,但是可以由代理软件提供的 Web 程序查看请求内容。

mobileproxy.png

目前比较顺手的开源软件有 mitmproxy ,提供了良好的 Web GUI 功能。

web-proxy.png

远程服务器代理的优点在于用户端无需安装代理软件,任何受信用用户都可以连接远程代理服务直接进行网络调试,不受网域限制,但是相对于本地代理调试软件,Web 端提供的调试功能要相对薄弱。

Proxyman一览

下载地址:

官方下载地址:https://proxyman.io/
文档地址:https://docs.proxyman.io/
github下载:https://github.com/ProxymanApp/Proxyman

安装方法:

1、使用安装包直接安装,傻瓜式安装,很简单
2、$ brew cask install proxyman,没试过

配置:

1.安装证书,点击Certificate->Install Certificate on this Mac
Certificate->Install Certificate on this Mac

然后点击安装,Automatic->Install&Trust Certificate,一键安装成功

Automatic->Install&Trust Certificate

2.手机端安装证书,
iOS设备:点击Certificate->Install Certificate on iOS Devices
安卓同理

Certificate->Install Certificate on this Mac

安装页面提示操作:

iOS Setup Guide

3.按照以上操作,手机端装好证书并信任后,就可以抓取移动端的请求啦,不过你会发现抓取到的数据并不完整,请继续操作。
选择你需要抓取的Host,右键->Enable HTTPS Response,这样就可以抓取到完整的请求数据了。

选择你需要抓取的Host,右键->Enable HTTPS Response

4.若只需要抓取移动端App的请求,不需要抓取电脑上的请求,
Tools->Proxy Settings,取消勾选Override macOS Proxy

Tools->Proxy Settings-取消勾选Override macOS Proxy