一、 简介
主要介绍如下几个常用操作:
1、Charles抓取手机端Http请求
2、Charles抓取手机端Https请求
3、Charles抓取Mac的PC端Web浏览器Http请求
二、 下载&破解
1、下载:
2、破解:
Ø 先下载破解的charles.jar
http://download.youkuaiyun.com/detail/wenbitianxiafeng/9448481
Ø 打开 Finder,找到应用程序中的 Charles,右击显示包内容,替换Contents/Java目录下的Charles.jar 文件为上面下载的文件即可。
三、 Charles抓取手机端Http请求
1. 在 Mac 中打开 Charles 应用;
2. 设置手机HTTP代理:(以我的Android为例)
打开手机已连接的WiFi网络,然后修过网络,设置代理。主要填写三项内容:WiFi密码、服务器主机名、服务器端口,如下图:
Charles默认的HTTP代理端口设置如下:
3. 确认许可协议
在Android设备上访问接口数据(例如:龙珠直播App),在 Charles 弹出的确认窗中选择Allow,允许即可,然后就能拿到请求的接口了,如下图:拿到的一些请求信息
四、 Charles抓取手机端Https请求
上图中我们可以拿到大部分请求的数据了,但是其中有https的请求,我们是拿不到请求数据的(标识unknown),如下图:
想拿到https的请求数据,只需要做两步(对大部分https类型请求是可以的,不排除有一些可能是不行的):
1、在手机上安装Charles 证书:
http://www.charlesproxy.com/getssl
浏览器会下载证书并提示安装(会有“网络受到第三方监控的安全提示”)
2、安装完成之后,在Charles 中选择需要代理地址,右击,选中Enable SSL Proxying,这样就可以抓取HTTPS 数据包了。
或者可以手动设置信任的域名:
切换到SSL选项卡,选中Enable SSLProxying,然后在Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443
五、 Charles抓取Mac的PC端Web浏览器Http请求
上面介绍了抓取手机上的HTTP请求,那么如何监控自己本机Mac上的HTTP请求呢?只需要一步操控即可:
六、 总结
通过抓包工具,能够获取设备在网络通讯过程中的交换数据包,从而可以很方便地确定请求的后台接口,以及请求的详细信息,方便我们分析一些东西。此外在 Windows 平台上,抓包使用较多的是Fiddler 工具(http://blog.youkuaiyun.com/qq_21445563/article/details/51017605)。