前言
某天,突然产生了对手机访问进行抓包的想法,google
了一下,发现在mac
下使用charles
进行手机访问的抓包比较容易,就进行了一次手机抓包的尝试(安卓手机)。
这里强调一下 安卓应用抓包建议使用Android7.0
以下的模拟器进行操作, 否则HTTPS协议的请求可能存在443
无法抓取情况
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的包了。
APP安装报错解决
1. 如果出现打开时提示:xxx.app已损坏,无法打开,那么输入以下指令解决:
1 | sudo xattr -d com.apple.quarantine /Applications/xxx.app |
其中xxx.app
是出问题的APP名称,如名称中有空格,可用“\”加空格代替
2.如果报错
Charles cannot configure your proxy settings while it is on a read-only volume. Perhaps you are running Charles from the disk image? If so, please copy Charles to the Applications folder and run it again. Otherwise please ensure that Charles is running on a volume that is read-write and try again.
解决办法
1 | sudo chown -R root "/Applications/Charles.app/Contents/Resources" |
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站