如何使用Charles进行APP抓包
注意事项:由于现在7.0以上的版本不再信任用户安装证书,所以建议使用安卓系统版本低于7.0的设备进行配置抓包。
Charles链接:
https://pan.baidu.com/s/15c2JK34uhNmuo8qA08M12Q
提取码:om5e
安装Charles
同意协议下一步
这里可以修改软件的安装路径,我这里保持默认路径,下一步
点击 install 等待安装完成
点击 Finish 完成安装
破解Charles
将压缩包内的 charles.jar 复制到安装目录的lib目录下
设置Charles
电脑端安装证书
依次点击标题栏的 Hlep>SSl Proxying>Install Charles root certificate
点击安装证书
点击下一步
选择 将所有的证书都放入下列存储
选择 受信任的根证书颁发机构 点击确定
点击下一步
点击完成
安装移动端证书
在 Charles 的帮助中可以查看本机的IP地址
如上图
在手机或者模拟器的WALN的代理中设置上图中的IP和端口
将模拟器的代理设置为手动,代理服务器主机名设置为电脑端的IP地址,端口号为Charles中设置的端口号,点击保存
依次点击标题栏的 Hlep>SSl Proxying>Install Charles Root Certificate on a Mobile Device or Remote Browser
在手机浏览器中访问上图红框中的地址(http://chls.pro/ssl)下载证书
下载好后进入模拟器或移动设备的设置,找到 安全 选项,在安全选项里找到凭据存储,从SD卡安装
选择刚才下载好的证书并安装
设置名称后确定即可
安装Drony APP
在使用基于WLAN的局域网进行抓包时,Charles无法抓取到webSocks的数据包。但是我们可以使用Drony这个APP代理设备上的APP,在使用Charles来抓包。
在模拟器或移动设备中安装Drony
从右向左划进入shetting界面,点击图中的WI-FI设置项
点击已经连接的WIFI
分别设置Proxy type,Hostname,Port
Hostname为电脑端的IP,Port为Charles中的端口
设置Default value和Rules
Default value 设置为Direct all
Rules 中可以设置只代理某一个APP,避免在Charles中抓包时有其他不需要抓取的其他APP的干扰
点击右上角的+号
Action设置为 Local proxy chain,Application中选择需要抓取的APP,点击右上角的保存即可
将LOG界面的OFF修改为ON即可
进入系统中的WLAN设置项,将代理主机设置为127.0.0.1,端口设置为8020保存即可,这样这些APP的连接就会走Drony代理了
在配置Drony之前Charles是抓不到高德地图搜索后返回的内容列表的,在配置了Drony之后就可以正常抓取到了