前言
某天,突然产生了对手机访问进行抓包的想法,google了一下,发现在mac下使用charles进行手机访问的抓包比较容易,就进行了一次手机抓包的尝试(安卓手机)。
mac安装charles
对于mac下安装charles,网上教程很多,这里不再进行说明,如果有条件的话,最好进行购买。
charles捕获http请求
1、Proxy --> macOS Proxy 先打开代理,使得mac上所有请求都通过charles进行代理。
2、Proxy --> Proxy Settings 设置监听端口号为8888。
3、此时,用电脑访问百度,就已经可以获取访问的包了,如果我们需要监听手机的访问,就还得在手机上进行设置。
4、先获取电脑的ip地址,Help --> Local Ip Address
5、然后在手机连接wifi,此时手机和电脑连接的必须是同一个wifi,然后在手机设置代理。
6、设置完成后,在手机打开一个网址,此时chartles就可以获取到手机访问的包了。
charles捕获https请求
http的请求我们已经可以获取,但是有些网站是https的,如果我们需要解析https的包,就需要安装证书了。
1、Help --> SSL Proxying --> install Charles Root Certificate,首先在mac安装CA证书。
2、然后要始终信任该证书。
3、Help --> SSL Proxying --> Install Charles Root Certificate On ...,然后生成手机上的证书。
4、Help --> SSL Proxying --> Save ...,然后保存该证书,它会生成一个类似charles-ssl-proxying.pem的文件,把该文件的后缀改为.crt,然后发送到你的安卓手机,进行安装即可。
5、Proxy --> SSL Proxying setting,设置你要监听的https请求的网址
6、手机再访问该网址,即可以抓到https的包了。
参考资料
https://www.jianshu.com/p/0bc767840e42
https://blog.csdn.net/qq_28867949/article/details/79070165