《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!

news2024/9/19 10:45:36

1.简介

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

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

今天宏哥讲解和分享Fiddler 如何截获安卓移动端发出的 HTTP/HTTPS 请求。

2.环境准备

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

(1)电脑上安装有 Fiddler 抓包工具。

(2)安装有 Fiddler 的电脑必须跟手机处在同一个网络里,并且手机网络代理必须设置为fiddler,当我们的手机发送数据时必须经过Fiddler这一层服务。

(3)在 Fiddler 中设置好捕获 HTTPS(具体方法请百度)。

3.Fiddler截获手机原理图

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

 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

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

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

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

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

PS:下面是重点 配置项

5.Android手机抓包配置

5.1Fiddler配置

在Fiddler中我们还需要设置远程连接权限和端口号,具体操作步骤如下:

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

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

5.2确保手机和PC在同一网络环境下

手机和电脑必须在同一局域网,手机最好也关闭4G/5G网络流量, 并且使用wifi,让手机和fiddler在同一局域网下,具体操作步骤如下:

5.2.1获取Fiddler所在机器的IP地址

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

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

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

 

5.3Android手机设置网络代理

本节内容适合所有的 Android设备。下面以夜神模拟器为例进行讲解,其他品牌的模拟器和真实的手机操作方法与此差不多。具体操作步骤如下:

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

2.看到有一个wifi信号,长按这个信号,出现修改网络的弹窗。如下图所示:

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

4.点击保存,就成功完成代理的设置了。如下图所示:

 

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

5.4测试 Fiddler 捕获手机发出的 HTTP

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

2.打开手机上的 APP,在 APP 中进行一些操作,查看 Fiddler 是否能捕获到 HTTP 数据包。如下图所示:

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

5.5测试Fiddler捕获手机发出的HTTPS

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

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

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

5.6Android手机配置证书

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

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

 

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

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

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

5.证书安装好后,查看已信任证书:具体位置在【设置--->安全--->信任的凭据--->用户】,如下图所示:

敲黑板!!!

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

解决方案:

1.在下载之前,你可以手动修改证书的后缀名,修改为.crt 就可以了。如下图所示:

2.当我们下载的时候,就可以点击编辑按钮,进行文件名的编辑, 最后保存。如下图所示:

3.然后在手机的下载管理中找到刚刚下载好的证书并且打开它。如下图所示:

4.点击保存即为安装。如下图所示:

5.完成android手机证书的安装。如下图所示:

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

6.开始Android抓包

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

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

6.1安装插件

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

6.1.1插件介绍

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

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

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 拦截证书。要解决此不兼容问题,您可以安装生成与这些平台兼容的拦截证书的证书生成插件。如下图所示:

6.1.2插件下载

插件下载:https://telerik-fiddler.s3.amazonaws.com/fiddler/addons/fiddlercertmaker.exe 下载之后直接点击安装就可以了,但是要关闭Fiddler否则无法安装, 然后重启Fiddler,然后在Fiddler中重置一下所有证书,点击Fiddler菜单选择Tools-> Options -> HTTPS -> Actions -> Reset All Certificates进行重置证书 ,并且手机也要重新再一次的下载并配置证书。下载安装完插件Fiddler这里会多一个dll文件,如下图所示:

如果还是不行可以尝试关闭电脑的防火墙。

7.小结

注意:

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

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/802983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

32路智能存储柜锁控板的功能有哪些?

智能存储柜是一款基于物联网可以完成柜门自动开启、物品监控、管理的设备,凭借着出色的智能化和自动化功能,智能柜已逐步取代传统的储物柜。但现有的智能存储柜锁控板性存在着一系列的问题,如控制路数少、稳定性差、成本高、线路连接不便等&a…

CTF线下赛AWD知识点【持续完善ing】

文章目录 CTF线下赛AWD知识点AWD规则前期准备SSH登录口令登录密钥登录 改密码SSH密码修改mysql密码修改 备份数据备份目录备份数据库 查找后门 自动提交flag防御思路基础查杀寻找最近20分钟修改过的文件寻找行数最短的文件关键字查杀查找命令执行函数 文件监控杀不死马0x01.杀进…

带你简单认识淘宝API及相关的业务场景介绍

淘宝API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范。通过开放接口,开发者可以不改变现有系统,直接在原有系统上实现新功能。该规范于2007年发布,是目前业界唯一完整覆盖电商系统各相关业务领域的接口标准&am…

RCU 使用及机制源码的一些分析

》内核新视界文章汇总《 文章目录 1 介绍2 使用方法2.1 经典 RCU2.2 不可抢占RCU2.3 加速版不可抢占RCU2.4 链表操作的RCU版本2.5 slab 缓存支持RCU 3 源码与实现机制的简单分析3.1 数据结构3.2 不可抢占RCU3.3 加速版不可抢占RCU3.4 可抢占RCU3.5 报告禁止状态3.6 宽限期的开…

tinkerCAD案例:16. Spin Circuit Assembly 自旋电路组装

tinkerCAD案例:16. Spin Circuit Assembly 自旋电路组装 原文 In this tutorial, you’ll learn how to make a monkey with spinning arms using the Spin Circuit Assembly, which combines a spinning hobby gearmotor with 2xAAA batteries. 在本教程中&#…

Intellij IDEA 双击启动报错ClassNotFoundException: com.licel.b.z@

项目场景: 新从官网下载了ideaIU-2023.2.win.zip ,安装后双击启动报错, 无法运行idea, 提示信息如下 问题描述 Internal error. Please refer to https://jb.gg/ide/critical-startup-errorsjava.lang.ExceptionInInitializerErrorat java…

会议OA系统会议管理模块开发思路(layui搭建)

目录 一.为什么要进行开发 1.开发目的 2.项目流程 A.发起会议请求过程 1.首先实现我们的多选下拉框功能! 2.时间组件功能,并且提交我们新增加的会议内容 3.在进行发起会议编码时遇到的问题,BUG 3.1.有点时候js访问不到路径 3.2在增加…

陪伴关爱,陪诊小程序源码开发带给您温暖服务

在现代社会,随着人们生活压力的增加和健康意识的提高,陪诊服务成为了越来越多人的需求。为了满足用户对于贴心陪诊服务的需求,陪诊小程序应运而生。陪诊小程序是基于微信小程序平台开发的应用程序,旨在为用户提供便捷高效的陪诊服…

列表排序按钮常用方法,实现“向前移动到第一个↑”、“向前移动∧”、“向后移动∨”、“向后移动到最后一个↓”

<el-button title"向前移动到第一个" size"mini" type"primary" icon"el-icon-top" :disabled"tableData.length scope.row.value tableData[0].value :true" click.stop"moveToFirst(scope.row)" circle pla…

螺环化合物:1380300-88-8,具有刚性结构,结构稳定

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ PART1----产品描述&#xff1a; 螺环化合物&#xff08;CAS号&#xff1a;1380300-88-8&#xff09;&#xff0c;螺环化合物具有刚性结构&#xff0c;结构稳定&#xff0c;其手性配体有较大的比旋光度&#xff0c;在不对称…

如何选择低代码/零代码平台(最全平台总结)

来谈论这个问题之前&#xff0c;我们先来看看到底什么是低代码/零代码—— 低代码 对于“低代码”的宣传其实已经很久很广泛了&#xff0c;但是争议从来都没有停止。 忘记之前在哪里看到过一个“低代码将会取代程序员”之类的说法&#xff0c;觉得很好笑&#xff0c;看了一些…

靶机精讲之Brainpan1

nmap扫描 主机发现 端口扫描 服务扫描 -sT 说明用tcp协议&#xff08;三次握手&#xff09;扫描 -sV扫描版本 O扫描系统 NULL是图片 10000端口是个python服务 UDP扫描 脚本扫描 web渗透 目录爆破 显示/bin/目录有东西 gobuster dir -w /usr/share/dirbuster/wordlists/di…

KVC与KVO

KVO 什么是KVO KVO全称Key Value Observing&#xff0c;其是苹果提供的一套事件通知机制。允许对象监听另一个对象特定属性的改变&#xff0c;并在改变时接收到事件。观察者模式 由于KVO的实现机制&#xff0c;只针对属性才会发生作用&#xff0c;一般继承自NSObject的对象都…

Centos部署Springboot项目详解

准备启动jar包&#xff0c;app.jar放入指定目录。 一、命令启动 1、启动命令 java -jar app.jar 2、后台运行 nohup java -jar app.jar >/dev/null 2>&1 & 加入配置参数命令 nohup java -Xms512M -Xmx512M -jar app.jar --server.port9080 spring.profiles…

k8s webhook实例,java springboot程序实现 对Pod创建请求添加边车容器 ,模拟istio实现日志文件清理

k8s webhook实例&#xff0c;java springboot程序实现 对Pod创建请求添加边车容器 &#xff0c;模拟istio实现日志文件清理 大纲 背景与原理实现流程开发部署my-docker-demo-sp-user服务模拟业务项目开发部署my-sidecar服务模拟边车程序开发部署服务my-docker-demo-k8s-opera…

代码随想录算法训练营day14 | 二叉树的递归遍历和迭代遍历

目录 144. 二叉树的前序遍历 94. 二叉树的中序遍历 145. 二叉树的后序遍历 递归看这篇文章&#xff1a;三道题套路解决递归问题 | lyls blog 前序遍历的和后序遍历的迭代方法代码思路相同&#xff1b;因为栈为先进后出&#xff0c;所以前序遍历的入栈顺序为中右左&#xff1…

查看GPU使用的最佳方式

1. watch -n 1 nvidia-smi (最有名,没有之一) nvidia自带了一个nvidia-smi的命令行工具,会显示GPU使用情况 ​​​​​​​ 作为监控 GPU 的工具就显得有点过于简陋了。比如 Process name 栏只显示命令行的程序名,不显示参数,这样输出结果就是一堆 python 和 .../Minico…

封神,谷歌架构师分享 出gRPC 与云原生应用开发 Go 和 Java 为例文档

前言 随着微服务和云原生相关技术的发展&#xff0c;应用程序的架构模式已从传统的单体架构或分层架构转向了分布式的计算架构。尽管分布式架构本身有一定的开发成本和运维成本&#xff0c;但它所带来的收益是显而易见的。 在实现分布式应用程序时&#xff0c;我们必须考虑两…

加热炉优化燃烧控制系统开发

首先给大家推荐本书&#xff1a;      认识 加热炉是是把坯料加热到均匀的、适合轧制的温度(奥氏体组织)。温度提高以后&#xff0c;首先是提高钢的塑性&#xff0c;降低变形抗力&#xff0c;使钢容易变形。 钢坯加热模型。如T12钢室温下变形抗力约为600Mpa&#xff0c;加热…

ide运行报错“Command line is too long”解决办法

有时运行程序时&#xff0c;ide会报如下错&#xff0c;如何解决呢&#xff0c;其实提示已经告诉你解决办法了。点击图中的蓝色超链接&#xff1a; “JAR MAINIFEST” 或 “CLASSPATH FILE” 都能解决问题 这是因为命名的方法名太长了才会报这个错 方法2 如果没有弹窗&#xf…