mac电脑,
Charles工具,已经安装好了,
安卓手机,华为手机
背景:
之前使用自己的谷歌手机,抓包是成功了,但是现在换了华为手机,不知道怎么操作了,现在重新梳理一遍,
抓Http包
抓Http的包比较简单,因为Http是明文传输,所以只要两步。
步骤一:配置Charles代理端口
操作: Proxy -> Proxy Setting…
端口可以随便指定,不要和其他程序有端口冲突就行,我这里指定为8888。
步骤二:配饰Android上网络代理
注意这里手机上连的Wifi要和电脑Wifi一样,在同一网段。
操作: WALN -> 某wifi的网络详情 -> 代理 -> 选择手动
配置为手动后,会有主机名和端口要填,这里主机名填写你电脑的ip地址
,端口填步骤一设置的Port
填写完后保存,这时就可以抓手机上的http包了
获取本机ip地址命令:
Mac:ifconfig en0
Windows:ipconfig
抓Https包
虽然Http的包可以,但这时候Https的网络连接会显示⬆️或❌,这让人很不爽。Https是建立在SSL/TLS层的请求,也就是加了密后的Http,所以这时候是看不到什么有用的信息的。不过Https加密有证书机制,下面就要在手机上配置一个信任Charles的证书,这也是抓Https包的原理
在上面两个步骤基础上
在上面两个步骤基础上
步骤三:Charles添加SSL Proxying
操作: Proxy -> SSL Proxying Setting… -> SSL Proxying
点击Add可以添加你想要抓的Https连接,这里可以如上图配置,*是一个通配符,表示抓所有Https的连接
在浏览器中输入网址:http:chls.pro/ssl,下载charles证书。--注意这一步一定要在手机已经配置了Charles代理的情况下,访问这个连接,否则不会自动下载,
安卓手机:手机设置-wlan-高级设置-从存储设备安装-找到证书后点击安装
如果还是抓不到包,可能是安卓7以上的不让抓包的原因了