以前说到mac的抓包工具,很多人第一反应是Charles,但因为Charles是收费的,而且随着系统的迭代更新,Charles在一些低端mac上的体验不是很好,而且很吃内存,所以就给大家推荐一下新发现的这款抓包工具吧:Proxyman。
重点: Proxyman提供了一个免费版本,包含了所有的基本功能,基本上够平时的使用,如果有需要也可购买高级版本。
而且目前官网也已推出Windows版本的,支持多个平台使用,后续迭代功能会更加完善。
安装及设置:
官网下载地址: proxyman.io
简单介绍一下主页面及基本使用:
安装好之后需要配置代理和https证书,点击顶部的菜单栏【证书】,就可以看到所有安装证书的选项:
Mac安装:
为了拦截加密的 HTTPS 消息(请求或响应),必须在当前计算机上安装Proxyman CA 证书
Proxyman默认不解析HTTPS流量,所以在查看HTTPS的抓包信息时需要开启SSL代理,并添加过滤规则,只有添加了规则的域名或应用才会自动解析。
iOS安装:
支持物理设备、模拟器、watchOS或tvOS、以及通过Atlantis框架自动配置进行代理监听,有需要的可以自行尝试,使用方式介绍的很详细,比如下面的这个物理设备的设置指南。
常用功能的使用:
1.本地Mock数据:
允许开发人员使用本地文件模拟响应。直接修改响应的Status Code、Header、Body,无需等待后端,提高开发速度。
选中需要mock的接口,右键,选择【工具】-【本地映射】,就可根据自己的需求进行设置了
但是这个有次数限制,需要频繁使用此功能的,可以升级pro
2.断点
断点可以帮助开发或测试人员动态的编辑请求或响应的内容,方便调试或测试。
顶部菜单栏【工具】- 【断点】
也可以在选中的请求 点击右键 - 【工具】- 【断点】
可以在请求或响应上设置响应断点,当断点设置好后,Proxyman将在收到断点拦截的对应请求或者响应时弹出一个新的编辑窗口,只需要根据时机需求进行修改即可。
3.模拟弱网请求
在需要进行弱网测试的情况下,只需要点击顶部菜单栏【工具】-【网络状况】
在弹出的新页面中根据需要进行相应的设置即可。
4.编辑并重发请求
对于需要修改并重新测试某个请求时可以直接选中对应请求,右键-【编辑并重复】,可以快速的修改Header、Query、Body,并测试对应的response。
Proxyman还提供了脚本功能,开发人员可以编写js代码以灵活的方式操作请求/响应。
Proxyman在为所有可用工具定义匹配规则时支持了Wildcard(通配符)和全匹配Regex(正则表达式)
更多功能请参考官方文档地址: docs.proxyman.io/
官网有详细的使用介绍,这里就不过多赘述了。