当前位置: 首页 > news >正文

第十一:Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!

一.简介

1.Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。

2.Fiddler能截获 Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。

二.环境准备

1.Fiddler想要实现手机抓包,需要先满足下面3个条件

1.1.电脑上安装有Fiddler抓包工具
1.2.安装有Fiddler的电脑必须跟手机处在同一个网络里,并且手机网络代理必须设置为fiddler,当我们的手机发送数据时必须经过Fiddler这一层服务
1.3.Fiddler中设置好捕获 HTTPS(具体方法请百度

三.Fiddler截获手机原理图

1.Fiddler作为代理服务器,可以接收远程机器发来的 HTTP/HTTPS 协议的数据包,并且将其转发到 Web 服务器。

在这里插入图片描述

四.截获手机发出的 HTTP 包有什么作用?

1.APP 开发人员利用 Fiddler 可以截获手机发出的 HTTP 包,从而调试 APP 程序。

2.软件测试人员可以用其来测试智能手机上的软件,做接口测试或者安全测试。

3.截获了 HTTP/HTTPS 后,可以下断点修改 HTTP 请求和 HTTP 响应。

PS:下面是重点 配置项

五.Android手机抓包配置

1.Fiddler配置:在Fiddler中还需要设置远程连接权限和端口号

1.1.启动 Fiddler,单击菜单栏中 Tools->Fiddler Options->Connections,选中“Allow remote computers to connect(允许远程计算机连接)”,然后设置一个端口,也可以默认为8888。

1.2.选中后就表示允许远程机器把 HTTP/HTTPS 请求发送到 Fiddler 上来(配置完后记得要重启 Fiddler)。同时还能看到 Fiddler的工作端口号是 8888。

在这里插入图片描述

2.确保手机和PC在同一网络环境下:手机和电脑必须在同一局域网,手机最好也关闭4G/5G网络流量, 并且使用wifi,让手机和fiddler在同一局域网下

2.1.获取Fiddler所在机器的IP地址

2.1.1.让android手机的网络进出口指向局域网中fiddler服务地址, 那么我们这里就必须要知道Fiddler的ip地址和端口号(port)。

2.2.2.这里Fiddler的ip地址就是当前电脑中的本机ip地址。查看电脑的 IP 地址,按快捷键【Windows+R】,调出运行窗口。输入 CMD,可以打开CMD 命令行工具;输入命令“ipconfig”,可以找到 IP 地址(找到其中的IPv4地址即为本机ip)。
一个电脑可能有多个网卡,注意要找到真正的 IP 地址,例如某 IP 地址是 10.0.0.11

在这里插入图片描述

2.2.3.可以对照一下当前所安装的Fiddler中的ip地址是否一致,你可以直接在fiddler上 将鼠标放置于 Online 工具上就会显示本机ip地址,如果一样那么就可以确保一会设置手机和电脑在同一个局域网内。

在这里插入图片描述

3.Android手机设置网络代理:本节内容适合所有的 Android设备。下面以夜神模拟器为例进行讲解,其他品牌的模拟器和真实的手机操作方法与此差不多。

3.1.在确定了手机和Fiddler在同一局域网下之后, 那么我们来到Android手机的设置选项下,找到夜神模拟器手机当前连接的WLAN(一些 Android 手机是单击右边的箭头,有的是长按弹出对话框)

在这里插入图片描述

3.2.看到有一个wifi信号,长按这个信号,出现修改网络的弹窗。

在这里插入图片描述

3.3.点击修改网络,选中高级选项,打开高级选项,将代理设为手动,代理服务器主机名填写电脑的IP,端口号填写为主机抓包工具的监听端口。

在这里插入图片描述

3.4.点击保存,就成功完成代理的设置了。

3.5.那么到此Android手机的网络代理设置就到此为止,其他不同型号的Android模拟器和真机设置大同小异,以此类推,实在不会的自己可以百度一下。

在这里插入图片描述

4.测试Fiddler捕获手机发出的HTTP:打开手机上的浏览器,在浏览器中输入链接:http://open.vipexam.org/。中科VIPExam考试学习资源数据库网站用的是 HTTP 协议而不是 HTTPS 协议,查看 Fiddler 是否捕获到了 HTTP 数据包。

在这里插入图片描述

4.1.打开手机上的 APP,在 APP 中进行一些操作,查看 Fiddler 是否能捕获到 HTTP 数据包。

4.2.如果抓不到 HTTP 的包,很可能是 Windows 防火墙的问题,到控制面板中关闭防火墙后再试试。

在这里插入图片描述

5.测试Fiddler捕获手机发出的HTTPS:打开手机上的浏览器,在浏览器中输入HTTPS协议,查看Fiddler是否捕获到了HTTPS数据包。一直在报证书安全警告错误,无法抓取,因此需要我们安装证书,原因在抓取PC端Web页面包已经说过了,这里就不做赘述了。

在这里插入图片描述

5.2.打开手机上的APP,在APP中进行一些操作,查看Fiddler是否能捕获到HTTPS数据包。又出现了Tunnel to

5.3.到此知道了要想抓取手机端Https的数据,还的配置证书,证书不用问了,还是Fiddler下发的。

在这里插入图片描述

6.Android手机配置证书:通过前边的测试,我们知道在抓取Android手机数据包的时候 跟web端也是一样,都需要配置证书,否则是无法正常进行抓包的。之前已经在我们的android手机上配置好了Fiddler的代理服务了,那么现在就可以通过ip+port的方式来访问Fiddler 从而下载对应的证书。

6.1.具体操作步骤如下:

6.1.1.在Android手机上打开(自带)的浏览器,输入刚刚配置的ip+port来下载证书,例如:192.168.0.109:8888, 我们点击FiddlerRoot certificate(根证书)下载到android手机上。如果不出意外的话就会出现如下界面

在这里插入图片描述

6.1.2.点击后,给证书命名为:FiddlerRoot,点击“确定”(注:选择安装的文件后,需要输入手机的锁屏密码。Android一定要有锁屏密码才能安装证书)

在这里插入图片描述

6.1.3.要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可

在这里插入图片描述

6.1.4.点击“确定”,提示证书已安装,证书安装成功后,如果你的手机系统没有设置密码或者锁屏图案,则系统会提示你设置锁屏图案或者密码。

在这里插入图片描述

6.1.5.证书安装好后,查看已信任证书:具体位置在【设置—>安全—>信任的凭据—>用户】

在这里插入图片描述

7.敲黑板!!!

7.1.在最后一步的时候可能有些android手机会出现以下问题,会出现 无法安装证书 因为无法读取证书文件的字样

在这里插入图片描述

8.解决方案

8.1.在下载之前,可以手动修改证书的后缀名,修改为.crt 就可以了。

在这里插入图片描述

8.2.当下载的时候,就可以点击编辑按钮,进行文件名的编辑, 最后保存。

在这里插入图片描述

8.3.然后在手机的下载管理中找到刚刚下载好的证书并且打开它。

在这里插入图片描述

8.4.点击保存即为安装。

在这里插入图片描述

8.5.完成android手机证书的安装。

8.6.通过上面的Android基本配置就全部结束了,现在可以愉快的Android手机抓包测试了。

在这里插入图片描述

六.开始Android抓包

1.为了更清晰的看到移动端抓包,在正式抓包之前,还设置一下Fiddler中的请求过滤,通过Fiddler菜单栏中的Tools—>Options–>HTTPS修改…from all processes这一项。把它设置为from remote clients only 只抓远程客户端请求, 方便我们查看手机抓包数据

在这里插入图片描述

2.那么现在打开你的android手机浏览器访问https网站或者运行手机中的一些app就可以被fiddler所截取到数据包了。

在这里插入图片描述

3.安装插件:如果还是无法正常抓取数据包,并且手机也无法加载数据的情况下,那么可能还是跟证书不正确有关系(解决方案:先删除所有证书再执行下面的操作。那么可能需要安装一个插件 CertMaker for iOS and Android)。

3.1.插件介绍:由于默认的证书不符合Android和iOS的证书要求,所以需要下载 certmaker插件,双击安装后,重启fiddler。注意这一步很重要,必须使用certmaker插件,不要使用默认的证书生成器,否则抓不到包。

3.2.(备注:经验证,android 和 ios ,如果不安装此插件,也是可以抓到包的,官方的文档上也是用了一个很模棱两可的说明,may ,可能,都不是那么的绝对。如果是抓不到包,此步骤可以作为一个解决方案)

3.3.iOS devices and Android devices may not work with the default HTTPS interception certificates used by Fiddler. To resolve this incompatibility, you may install a Certificate Generating plugin that generates interception certificates compatible with those platforms。译为:iOS 设备和 Android 设备可能无法使用 Fiddler 使用的默认 HTTPS 拦截证书。要解决此不兼容问题,您可以安装生成与这些平台兼容的拦截证书的证书生成插件。

在这里插入图片描述

4.插件下载:https://telerik-fiddler.s3.amazonaws.com/fiddler/addons/fiddlercertmaker.exe 下载之后直接点击安装就可以了。

4.1.但是要关闭Fiddler否则无法安装,然后重启Fiddler,然后在Fiddler中重置一下所有证书,点击Fiddler菜单选择Tools-> Options -> HTTPS -> Actions -> Reset All Certificates进行重置证书 ,并且手机也要重新再一次的下载并配置证书。下载安装完插件Fiddler这里会多一个dll文件

4.2.如果还是不行可以尝试关闭电脑的防火墙。在这里插入图片描述

七.小结

1.注意:一个手机可以安装多个证书,但是每安装的一个证书里面都设置有IP地址,所以:安装的证书和电脑IP是一一对应的,当前的这个证书只能针对某一台电脑使用,更换电脑后,该证书将不能使用,只能重新安装与更换的电脑的IP相同的证书才能使用。

相关文章:

  • ARMv8 MMU和translation stages、translation regimes和相关寄存器
  • Linux入门之配置以太网连接
  • 小时3.0报表某个型号数据比天数据多问题复盘
  • 深度学习 FairMOT多目标跟踪(PANDA)
  • 深度学习图像分割U-Net和FCN讲解
  • MySQL语句(二)
  • MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的作用及生成时机
  • python-读写Excel(三)-xlwt格式设置
  • 主从复制Slave_IO_Running: NO Slave_SQL_Running: NO 解决办法
  • 14对象的方法
  • 神经网络原理与实例精解,神经网络案例讲解范文
  • 【dfs爆搜】poj 1129 Channel Allocation
  • 244页14万字XX智能交通系统设计方案
  • 9月24日计算机视觉基础学习笔记——经典机器学习_02
  • Java编程之语法结构
  • .pyc 想到的一些问题
  • Angular Elements 及其运作原理
  • CentOS7简单部署NFS
  • java8 Stream Pipelines 浅析
  • java取消线程实例
  • java正则表式的使用
  • PHP 小技巧
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Service Worker
  • vue的全局变量和全局拦截请求器
  • Zepto.js源码学习之二
  • 爱情 北京女病人
  • 安卓应用性能调试和优化经验分享
  • 给第三方使用接口的 URL 签名实现
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端临床手札——文件上传
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 数组大概知多少
  • 通信类
  • 微信小程序填坑清单
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​​​​​​​​​​​​​​Γ函数
  • #etcd#安装时出错
  • (12)目标检测_SSD基于pytorch搭建代码
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Note)C++中的继承方式
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十五)使用Nexus创建Maven私服
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (算法)Game
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转载)利用webkit抓取动态网页和链接
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容