代理调试
代理调试是指通过代理 HTTP/S 请求来捕获请求信息。
这种调试主要是通过分析网络数据来定位问题,所以客户端环境无关,只要是基于 TCP 的 HTTP/S协议都可以被代理处理。
代理软件 proxyman
的 Mac 桌面端也是功能强大的,并且在界面 UI 上独树一帜。
Proxyman 是一款直观易用的 HTTP 调试工具,拥有出色的 UI 和交互设计, 性能强劲资源占用低。自动生成证书,轻松在 Mac 端启用 SSL 代理抓包,并且集成移动设备的调试。监控应用和 SSL Web 服务器之间所有的 HTTP / HTTPS 流量,方便开发人员进行数据观察及流量分析。
相比Charles,有自身的特点。可以随意布局,可以多设备分别管理,一屏可以预览所需的关键信息,其他内容还待摸索。
远程网络调试
需要移动端设置代理 host 和端口。这里的 host 指定域名
或直接指定目标 ip
(减少 DNS 解析时间)。不同于 GUI 代理软件,远程代理调试是代理到服务器上的,所以代理软件不会有GUI,但是可以由代理软件提供的 Web 程序查看请求内容。
目前比较顺手的开源软件有 mitmproxy ,提供了良好的 Web GUI 功能。
远程服务器代理的优点在于用户端无需安装代理软件
,任何受信用用户都可以连接远程代理服务直接进行网络调试,不受网域限制
,但是相对于本地代理调试软件,Web 端提供的调试功能要相对薄弱。
下载地址:
官方下载地址: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
然后点击安装,Automatic->Install&Trust Certificate,一键安装成功
2.手机端安装证书,
iOS设备:点击Certificate->Install Certificate on iOS Devices
安卓同理
安装页面提示操作:
3.按照以上操作,手机端装好证书并信任后,就可以抓取移动端的请求啦,不过你会发现抓取到的数据并不完整,请继续操作。
选择你需要抓取的Host,右键->Enable HTTPS Response,这样就可以抓取到完整的请求数据了。
4.若只需要抓取移动端App的请求,不需要抓取电脑上的请求,
Tools->Proxy Settings,取消勾选Override macOS Proxy