在开发界,“抓包”这个词想必大家耳熟能详。通过抓包工具,能够获取设备在网络通讯过程中的交换数据包。在 Windows 平台上,笔者使用较多的是 Fiddler 工具,但是由于 Fiddle 使用 C# 语言开发的,不支持 Mac OS 系统,所以不能在 Mac 上使用。本文给大家推荐的是 Mac 平台下的一款抓包神器:Charles。它是使用 Java 语言开发的,跨平台,支持各个系统下的设备使用。
官网地址:
http://www.charlesproxy.com/
安装及破解教程
在官网中下载 Mac 版安装文件,安装过程很简单,这里不多赘述。我们找一个接口数据测试一下抓包效果,如图所示:
官方版本只支持免费使用30天,但是无所不能的天朝程序员拥有破解的办法。通过替换安装包内容中的 charles.jar 文件可以完美破解(亦枫使用的 Charles 是3.11.2版本,前后版本的破解方法应该一致)。
这里破解文件 charles.jar 可以在下面链接地址中获取:
http://download.csdn.net/detail/wenbitianxiafeng/9448481
打开 Fidder,找到应用程序中的 Charles,右击显示包内容,替换
Contents/Java目录下的 Charles.jar 文件即可。
HTTP抓包
在 Mac 中打开 Charles 应用;
-
设置手机HTTP代理:确保移动设备与 Mac 笔记本在同一局域网内,添加代理ip地址(Mac内网地址)和端口号(8888),这里以 iPhone为例,如图所示:
在iOS设备上访问接口数据,在 Charles 弹出的确认窗中选择 Allow,允许即可。
HTTPS抓包
- 安装 Charles 证书:使用 Safari 浏览器访问地址:
http://www.charlesproxy.com/getssl
,浏览器会下载证书并提示安装:
- 安装完成之后,在 Charles 中选择需要代理地址,右击,选中 Enable SSL Proxying,这样就可以抓取 HTTPS 数据包了。