最近在做一个项目,需求抓包移动端的网络恳求。研讨了一下,最终决定用 Charles,比较便利,只需求将手机署理到电脑就可以。下文将以我手头的设备为例,一台 macbook 和一台小米手机,咱们来实现在电脑上抓包移动端的网络恳求。
东西
长这样:
Charles是一个HTTP署理/HTTP监视器/反向署理,使开发人员能够检查其机器和互联网之间的一切HTTP和SSL/HTTPS流量。这包括恳求、响应和HTTP标头(包含cookie和缓存信息)。
charles 下载地址
检查网络恳求
首要确保电脑手机连接同一局域网,然后咱们将手机署理到电脑上:
检查电脑的 IP 地址
打开手机当前 WLAN 的设置,署理挑选手动,主机名填写电脑的 IP,端口号填写 Charles 默认端口号 8888,当然你也可以手动设置(Proxy -> Proxy Settings)
接下来就可以在 charles 中看到手机上的网络恳求了。
其他装备
网址署理
想要进行网址署理也很简单,点击 Tools -> Map Remote。
设置 Map From 和 Map To,这样就可以通过 host/ajax.html 拜访到 host/dom.html 了。
HTTPS
由于 HTTPS 安全性更高,用 Charles 抓包时会出现乱码。
解决办法:
首要设置 SSL,Proxy -> SSL Proxying Setting,增加:*:443
然后点击 Help -> SSL Proxying,会有装置 Charles 证书的帮助,这儿以小米手机为例,挑选 Mobile Device。
根据 Charles 弹出的提示,用手机拜访 chls.pro/ssl
下载证书。
小米(MIUI 13.0.7)证书装置方法:安全 -> 更多安全设置 -> 加密与凭据 -> 装置证书 -> CA 证书,然后挑选刚刚下载好的 Charles 证书装置,就可以正常抓包 HTTPS 的恳求数据了。