如何使用Charles进行APP抓包

注意事项:由于现在7.0以上的版本不再信任用户安装证书,所以建议使用安卓系统版本低于7.0的设备进行配置抓包。

Charles链接:https://pan.baidu.com/s/15c2JK34uhNmuo8qA08M12Q
提取码:om5e

安装Charles

Charles 模拟ios charles app_app


Charles 模拟ios charles app_爬虫_02

同意协议下一步

Charles 模拟ios charles app_爬虫_03


这里可以修改软件的安装路径,我这里保持默认路径,下一步

Charles 模拟ios charles app_Charles 模拟ios_04


点击 install 等待安装完成

Charles 模拟ios charles app_python_05


点击 Finish 完成安装

破解Charles

Charles 模拟ios charles app_爬虫_06


将压缩包内的 charles.jar 复制到安装目录的lib目录下

设置Charles

电脑端安装证书

Charles 模拟ios charles app_抓包_07


依次点击标题栏的 Hlep>SSl Proxying>Install Charles root certificate

Charles 模拟ios charles app_Charles 模拟ios_08


点击安装证书

Charles 模拟ios charles app_爬虫_09


点击下一步

Charles 模拟ios charles app_Charles 模拟ios_10


选择 将所有的证书都放入下列存储

Charles 模拟ios charles app_抓包_11


选择 受信任的根证书颁发机构 点击确定

Charles 模拟ios charles app_python_12


点击下一步

Charles 模拟ios charles app_python_13


点击完成

安装移动端证书

Charles 模拟ios charles app_抓包_14


在 Charles 的帮助中可以查看本机的IP地址

Charles 模拟ios charles app_app_15


如上图

在手机或者模拟器的WALN的代理中设置上图中的IP和端口

Charles 模拟ios charles app_抓包_16


Charles 模拟ios charles app_Charles 模拟ios_17


将模拟器的代理设置为手动,代理服务器主机名设置为电脑端的IP地址,端口号为Charles中设置的端口号,点击保存

Charles 模拟ios charles app_Charles 模拟ios_18


依次点击标题栏的 Hlep>SSl Proxying>Install Charles Root Certificate on a Mobile Device or Remote Browser

Charles 模拟ios charles app_app_19


在手机浏览器中访问上图红框中的地址(http://chls.pro/ssl)下载证书

Charles 模拟ios charles app_app_20


Charles 模拟ios charles app_python_21


下载好后进入模拟器或移动设备的设置,找到 安全 选项,在安全选项里找到凭据存储,从SD卡安装

Charles 模拟ios charles app_python_22


选择刚才下载好的证书并安装

Charles 模拟ios charles app_python_23


设置名称后确定即可

安装Drony APP

在使用基于WLAN的局域网进行抓包时,Charles无法抓取到webSocks的数据包。但是我们可以使用Drony这个APP代理设备上的APP,在使用Charles来抓包。

Charles 模拟ios charles app_抓包_24


在模拟器或移动设备中安装Drony

Charles 模拟ios charles app_python_25


Charles 模拟ios charles app_抓包_26


从右向左划进入shetting界面,点击图中的WI-FI设置项

Charles 模拟ios charles app_爬虫_27


点击已经连接的WIFI

Charles 模拟ios charles app_爬虫_28


分别设置Proxy type,Hostname,Port

Charles 模拟ios charles app_python_29


Hostname为电脑端的IP,Port为Charles中的端口

Charles 模拟ios charles app_Charles 模拟ios_30


设置Default value和Rules

Charles 模拟ios charles app_爬虫_31


Default value 设置为Direct allRules 中可以设置只代理某一个APP,避免在Charles中抓包时有其他不需要抓取的其他APP的干扰

Charles 模拟ios charles app_Charles 模拟ios_32


点击右上角的+号

Charles 模拟ios charles app_app_33


Action设置为 Local proxy chain,Application中选择需要抓取的APP,点击右上角的保存即可

Charles 模拟ios charles app_app_34


将LOG界面的OFF修改为ON即可

Charles 模拟ios charles app_Charles 模拟ios_35


进入系统中的WLAN设置项,将代理主机设置为127.0.0.1,端口设置为8020保存即可,这样这些APP的连接就会走Drony代理了

Charles 模拟ios charles app_app_36


在配置Drony之前Charles是抓不到高德地图搜索后返回的内容列表的,在配置了Drony之后就可以正常抓取到了