Windows下用Charles对Android抓包HTTPS

摘要

Android系统下的App都访问了哪些网络数据呢?用Charles抓包就能看到,甚至连HTTPS传输的数据都一览无遗。
本文详细讲解整个配置过程。

步骤

首先,确保你的Android手机和Windows系统都连接上了同一个WiFi。

  • (1)下载Windows版本的Charles
  • (2)安装好后,Proxy->Proxy Settings,设置如下
    这里写图片描述
  • (3)在Windows系统上,安装证书:Help->SSL Proxying->Install Charles Root Certificate
    这里写图片描述
  • (4)在Android手机上安装证书:Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,会给出具体的安装步骤,如下图
    这里写图片描述
    就是让你在手机上配置代理,然后在手机浏览器上访问chls.pro/ssl就能下载证书。(注意,我试了手机上的Chrome浏览器下载安装正常,但华为自带的浏览器只能下载不能安装)。安装时,证书名称写charles

  • (5)在手机上配置代理,实现完成上一过程。(WiFi列表中长按WiFi连接,高级,手动添加代理)

    • 代理主机名称:在Charles客户端Help->Local IP Address中可以查询IP地址,手机上填入即可
    • 端口号:上面步骤默认为8888,也可以在Charles客户端Proxy->Proxy Settings中查询/设置
  • (6)配置完上面步骤,就可以抓到手机上App的HTTP请求内容了。但还有最后一个关键步骤,才能查看到HTTPS的内容。就是要把你想抓包的HTTPS站点(如下图2)添加到Charles: Proxy->SSL Proxy Settings
    这里写图片描述
    这里要注意,如果你要监测多个站点,一定都要添加进去,才能监测到。

到这里,配置就结束了,在你的手机上打开“移动营业厅”这个App,就能在Charles上看到它所访问的所有域名。
通过抓包实验,我们也能明显的看到App通过HTTPS(https://restapi.amap.com/v3/geocode/regeo)发送GET请求时,leak了location等信息,这个API也把用户的具体地址等personal信息以明文返回。

参考

猜你喜欢

转载自blog.csdn.net/ybdesire/article/details/80636248