一文搞清楚手机无法抓包

手机无法抓包

常用的抓包软件主要有Fiddler和Charles(mac电脑使用),其它的还有Wireshark(用来抓取静态资源),Httpwatch等,功能大同小异。
这些工具开发前端后台用来抓包调试接口,测试抓包检测接口,爬虫抓包用来请求接口获取数据,非常重要。
Fiddler免费使用,学习可以参考:http://www.cnblogs.com/yyhh/p/5140852.html
Charles免费版只能使用30分钟,而且每次打开需要等待10s。学习可以参考:https://www.jianshu.com/p/fb2bdde5b498

Charles破解-点击help->Register Charles,输入如下
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
Charels破解
注意:首先要配置好代理,确保http的请求都能抓取到。

问题描述一:提示无法链接网络

小米6手机,联想电脑,公司网络环境,Fiddler和Charles都装的有,可以抓电脑网页和模拟器的app,但是手机连不上,使用小米默认浏览器访问代理ip或者chls.pro/ssl安装证书,提示无法链接网络,通过电脑下载证书装到手机上,还是不行。
在这里插入图片描述

诊断

用cmd进入终端,ping 手机的ip(手机ip如果代理的地方没有,可以下载一个开发抓手app查看),无法ping通,ping同事的手机设备ip也无法ping通,说明电脑有问题,但是电脑的证书什么都没有问题,同事的抓包就可以正常使用,困扰很长时间。后来参考到 https://testerhome.com/topics/2651 的讨论–原因是路由器的设置问题。

解决

在路由器管理设置里,找到安全设置>用户隔离,状态改为关闭.(或者找公司的IT管理人员解决),最终目的是确保电脑得DNS服务器地址与手机上显示得路由器地址是同一个,即手机与电脑在一个网段:
在这里插入图片描述
在这里插入图片描述

问题二:所有得https都不能抓取

这是由于没有配置decrypt https traffic或者enable ssl proxying,如下配置好以后,部分网页或者app得https就可以抓取了。在这里插入图片描述
Charles: Proxy ->SSL Proxying Settings点击“Add”按钮,在弹出框的 “Host” 和 “Port” 都输入“*”,表示所有,点击OK。
在这里插入图片描述

问题三:部分https不能抓取,提示unkown或者tunnel to 443

接上个问题,为什么部分https可以抓取,部分的抓取不了呢?而部分app抓取https的时候会出现tunnel to 443呢,无法抓取,那么这部分app是如何防护中间人攻击的呢?原因是部分app在证书检验方面做的不够,没有完全校验。

原因:部分app在开发时就将服务端证书一块打包到客户端里,在HTTPS建立时与服务端返回的证书比对一致性,进而识别出中间人攻击后直接在客户端侧中止连接,这种app就是做了完全校验。自安卓7以后,系统默认不信任用户证书,由于个人安装的证书是授权在个人的下面的,并没有安装到手机设备的根路径下,因此对于没有打包服务端证书到客户端的app做校验的app,证书依旧被信任了,可以抓取。反之对于做了完全校验的app即使安装了证书也无法生效,因为证书不被信任。

在这里插入图片描述
知道原因了如何解决呢?

解决办法一:最简单实用的方法

用android 内核为7.0一下的手机版本,安装的证书默认被信任,那么https就可以抓取到了。可以买二手机或者将能降级到7.0以下系统的手机刷机回去。目前市场上的手机只有小米有刷机包支持系统降级。

解决办法二:手机root后,将证书安装到设备的系统路径下

具体操作可以参考微信文章:https://mp.weixin.qq.com/s?__biz=Mzg3NDA3MjY0Mg==&mid=2247483757&idx=1&sn=bdf374dc4c34a72cc8615faf1f1c4d27&chksm=ced71e40f9a09756ce3e926950d6c72c9dcdb7ef31811bc2349924a299c11b19f8db0b788bf3&key=7865e1e5a7ba115e1f10b97690779fa6cf38351cd756bdf365b60418f6278325e92c1754aea27aebf9a8ef6cf7aef0156a8af0f7054864627a4e42e9ac4eabf1a73aa1a4d01b544473c4cb6862c4cd27&ascene=1&uin=MTk2MjkyNTk4MQ%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_CN&pass_ticket=S5MvJ9pkWUzdTCWrb9Xs1x0ZSHXNKmEMmAEsixKG5Z8sjTn4jXKabP1exINIj9s4

解决办法三:使用xposed伪造4G网络环境

在这里插入图片描述
装好xposed后,使用其模块连接状态修改器,伪造成4G网络,发送请求抓包。但是这种方法在一些情况还是出现unkonw。

其他注意事项

1.关闭电脑的防火墙
2.如果需要抓取手机app的数据包,需要手机和电脑在都连接同一个无线网络
3.抓完包以后将fiddler关闭(提高访问网络的速度)同时将手机上的代理关闭 (如果不关闭代理,当fiddler关闭,或者是两者连接的不是同一无线网络,手机会不能正常的访问网络)

有相关问题,欢迎留言交流
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值