本文参考:charles 抓包手机html
charles常常会进行手机上的网页抓包,好比去copy别人网站图片或脚本的时候o(∩_∩)o ;浏览器
手机抓包的原理,和PC相似,手机依靠charles与服务端进行对话;安全
目标:把手机的网络委托给charles进行代理;服务器
手机抓包设置,须要进行3步;网络
第一步,在charles里设置容许手机联网的权限;你须要把charles设置为容许的状态而且设置容许的端口号,这样手机端才能正常的接入;工具
第二步,把手机按照charles的IP和端口进行配置;网站
第三步,手机配对成功后,charles还会弹窗是否容许;(charles虽然开放了端口,但并不知道是那一台手机会配入,此窗口起到提示和安全防御的做用;)加密
上面的三步,有点相似HTTP的握手原理,双方都保证正常通讯后,就能够愉快的玩耍了;spa
第一步:设置charles为容许状态,并设置好接入端口;代理
在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888(注意,这个端口不必定填写8888,也能够写别的端口,可是须要记住这个段扩,由于这里设置的容许接入的端口,手机端配置的时候须要用到),而且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。以下图;
须要找到charles的本机IP;
点击HTLP -> local IP Address 能够看到当前的本机IP地址;
固然,你也能够在终端打开查看,好比window,cmd下;输入ipconfig能够查看本机的IP
此时咱们能够看到,charles容许手机接入的IP和端口是 192.168.0.103:8888
此时若是你手工在浏览器输入 这个HOST会发现charles会提示一个窗口问你是否容许接入;
第二部:把手机按照charles的IP和端口进行配置;
手机连接wifi,wifi的HTTP代理选择手动那项(安卓相似)
在iPhone的 “设置”->“无线局域网“中,能够看到当前链接的wifi名,经过点击右边的详情键,能够看到当前链接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,咱们将其切换成手动,而后填上Charles运行所在的电脑的IP,以及端口号8888
第三步,手机配对成功后,charles弹窗询问是否容许;
设置好以后,咱们打开iPhone上的任意须要网络通信的程序,就能够看到Charles弹出iPhone请求链接的确认菜单
如上图的弹窗,点击容许便可;此时已经配对成功,开始愉快的抓包吧;
好比此时,访问zhubangbang.com
就能够电脑上就抓到访问的资源了;
由于本站用的是SSL,因此若是您的charles没有配置过,是抓取不到HTTPS这种加密协议的内容的;
若是须要抓取HTTPS网站的资源,请查看 Charles的HTTPS抓包方法及原理
注意:须要明白一个可能存在的弊端,若是你把手机的上网相关事情委托给了charles,那么当charles出错或者没有开启的时候,此时手机一定没有办法正常上网;这个必定要了解,由于不少人把手机的IP委托给charles进行代理后,次日早晨上本的时候,手机wifi会默认连接你经常使用的高清度wifi;而此时的wifi的设置里面可能已经委托给charles了,可是此时电脑刚没有开charles或者重启后ip变更等;形成charles没法正常使用;由此而致使了没法上网的问题;
注意charles此种捕获方式,只能捕获发出请求的资源,若是是APP里,内部的代码和资源,由于没有向服务器发情请求,因此这是抓不到的;
判断是否是调用内部资源,你能够把手机的网络给断了,若是此时还能够正常的显示,说明该资源是写在APP内部的,经过代理的方式是抓不到的;
代理的原理详见“抓包工具Charles的使用教程”里面的原理图介绍;
本文参考:https://www.axihe.com/