编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

图解如何抓取手机的数据封包「手机抓包技术详解」

wxchong 2024-10-22 17:49:13 开源技术 17 ℃ 0 评论

通常我们主要抓取手机等移动设备的三种数据封包:TCP、HTTP、HTTPS。本文我们主要通过图文详细讲解使用wireshark抓取手机的tcp数据包,使用Fiddler抓取手机的HTTP、HTTPS数据包以及android各版本 IOS各版本对于Fiddler证书安装的方法及区别。前文我们讲解过wireshark和Fiddler的详细使用方法,需要的可以翻阅前文。

使用wireshark抓取手机等移动设备的tcp、udp、websocket等协议的数据包:

  • 首先你需要准备一台具有无线网卡的台式机或者笔记本
  • 使用360免费wifi或者同类工具,创建一个WIFI热点
  • 手机连接该热点
  • 打开wireshark,选择无线网卡,然后开始抓包

使用Fiddler抓取手机设备的http、https的包:

  • 首先打开Fiddler,点击:Tools->options->Connections->勾选Allow remote computers to connect 以允许远程设备连接

  • 点击Toos->options->https->勾选以下几项,以便开启https抓包,期间会弹出证书安装,一路确定即可
  • 然后让手机和抓包电脑位于同一局域网,打开手机的wifi设置,设置代理IP为抓包机器的IP地址,端口为8888.下图为安卓和IOS的设置示例
  • 设置好代理后使用自带浏览器访问代理服务器安装证书,以便抓包https数据包。打开http://192.168.2.211:8888,然后点击FiddlerRoot certificate
  • 点击后android和IOS分别按照提示,输入锁屏密码直到安装完成
  • 特别注意:如果您的设备是IOS10以上,需要进行额外设置“打开设置->通用->关于手机->证书信任设置”,手动设置Fiddler证书为完全信任。
  • 特别提示:Android 7及以上, Android团队已经决定,在默认情况下,HTTPS证书验证应用程序针对API级别24后来将忽略用户装机根证书,这意味着即使你已经信任了Fiddler的证书,但是也完全没有意义。app开发人员可以天下如下代码以允许调试,非开发人员只能root设备或者解包apk修改配置后重新打包。
Bash
<network-security-config> 
 <debug-overrides> 
 <trust-anchors> 
 <!-- Trust user added CAs while debuggable only -->
 <certificates src="user" /> 
 </trust-anchors> 
 </debug-config> 
 </network-security-config>
  • 另外由于Fiddler是基于代理模式抓包,IOS基本所有app都会默认使用系统代理,但是安卓有很多app是不走系统代理的,这意味着你无法去抓到他们的包。针对这种情况,你可以安装ProxyDroid这个app进行全局代理设置

以上设置 完成后,我们就可以通过Fiddler抓取手机的数据包了,我们抓一下搜狐新闻app看下效果。打开Fiddler,清空数据列表,然后在苹果手机上打开搜狐新闻

返回Fiddler,发现已经抓取到很多数据包

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表