MacOS抓包工具
网络抓包,应该是大多数开发者必须掌握的技能之一。无论是写爬虫、还是进行接口调试、Bug 分析,或多或少都会接触到不少抓包工具。
目前用的比较多的,应该就是 Fiddler、wireshark 和大名鼎鼎的 Charles 了。
当然了,这些工具都有不少的优缺点,不过功能丰富,可满足多方面网络调试场景,也使得它们都不免俗的成为当前市面上比较主流的抓包工具。
推荐一款相对冷门,但界面却非常优雅简洁,拥有出色 UI 设计,功能灵活易用的抓包神器:Proxyman
抓包工具Proxyman - 图1
地址:https://proxyman.io/
作为 Mac 上一款较为知名的 HTTP/HTTPS 网络调试工具,Proxyman 拥有多重请求过滤、SSL 代理、断点调试、注释添加等多种功能,并内置了脚本运行、请求变更记录溯源等多款使用工具。
诸多功能,令它在网络调试领域,可谓无往不利,使起来也是颇为顺手。
下面来简单介绍下,它具体拥有哪些功能。

多重条件过滤

在进行接口调试时,可以借助工具的筛选属性,来缩小查询范围。
通过结合多种过滤条件,如 URL、请求 Header、响应 Header、状态码、注释等条件,精准定位查询内容。
不仅如此,还可以保存筛选设置,以供日后使用,减少重复性功能。
抓包工具Proxyman - 图2

本地文件映射(Map Local File)

见名知意,本地文件映射,就是可以使用本地的 JSON 文件,映射到请求、响应接口上,包括状态码、Header、Body 等。
从开发角度上,此举无疑能增加调试效率,并且可以多方位的测试、覆盖各种边缘场景,无需等待服务器数据更新。
抓包工具Proxyman - 图3

断点调试

这一步,经常在数据抓包或者前端界面调试时需要用到,通过给网络请求设置断点,可在请求发布、响应送达的具体位置上进行拦截,并更改请求/响应数据(如 Header、URL、状态码等),而无需更改客户端代码。
抓包工具Proxyman - 图4

脚本工具

作为一款比较高级的调试工具,可以通过嵌入 JavaScript 代码,来执行脚本,以便更灵活的检查与修改接口数据。
工具里面提供了诸多代码片段、常用插件以及 JavaScript 第三方库供开发者使用,加快调试效率。
抓包工具Proxyman - 图5

请求高亮 & 注释添加

这项功能,可以高亮某个接口或添加注释。
在进行项目多人协作时,给接口加上合理的注释,能大幅降低他人的学习成本以及工作效率,后面项目有 Bug,也能很好的追踪与定位。
抓包工具Proxyman - 图6

Diff 工具

用过 GitHub 的同学应该都清楚,当需要合并他人提交的代码时,可以用 Diff 工具,来快速查看代码的增加、删除情况。
同样的,Proxyman 也具备这项功能。
通过 Diff 工具,可以清晰的看到,所选的不同请求/响应之间,URL、状态码、Header 等内容有哪些区别,更快发现错误所在。
抓包工具Proxyman - 图7
除此之外,像 JSON 格式化、会话保存、WebSocket 调试、网络访问速度限制、正则表达式匹配等功能,它也都一一具备