接口测试辅助,Fiddler抓取安卓手机https请求(详细)

news2024/11/24 14:04:57

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的抓包工具之一。

具备的功能:抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等。

Fiddler 工作原理

Fiddler 抓包实现原理:客户端服务器进行消息交互时,HTTP 客户端设置 Fiddler 作为代理,把 http 请求发送给 Fiddler,Fiddler 再转发给服务器。

同样,服务器返回消息也是先返回给 Fiddler,再由 Fiddler 转发给客户端。就像两个人聊天会通过一个中间人传话,这个中间人就是 Fiddler,他自然什么都知道。

下载与安装

Fiddler 安装就不多说了,官网下载,直接安装即可

HTTPS 证书安装:
默认状态下,Fiddler 只能监听 HTTP 请求。比如我们打开百度官网https://www.baidu.com/,然后去Fiddler查看。

D1

想要抓取 HTTPS 请求包,需要先进行设置。路径:Tool–Options–HTTPS,勾选如下选项。

D2

D3

点击第 4 步 Actions 时选择‘Export Root Certificate to Desktop’,弹出提示

D4

配置手机抓包

如果我们想要抓取手机上的 HTTP 请求,还需要在手机上进行配置。要注意的是,苹果和安卓的配置方法有很多差异。安卓手机的不同品牌、同品牌的不同型号,配置方法大同小异。下面以安卓手机为例。

1、确保手机和运行 fiddler 的电脑使用的是同一个子网,比如使用同一个 wifi 信号连接

2、设置 Fiddler,允许远程机器连接自己,点击菜单 option,点击 connections 标签,勾选 Allow remote computer to connect, 如下所示

D5

3、打开手机 wifi,选择当前的 wifi,点击修改网络,点击“代理设置”,主机名和端口输入 Fiddler 所在机器的 ip 地址(通过 ipconfig 查看)和代理端口 8888。

此时,我们在手机上打开百度,可以看到 Fiddler 成功监控了,但是无法对 HTTPS 会话解密,要想用 Fiddler 抓取手机上的 HTTPS 数据包,还需要在手机下载并安装 Fiddler 根证书。

手机下载 Fiddler 根证书:
根证书地址:http://代理服务器地址:8888/FiddlerRoot.cer

下载完成后,进行安装。

以我的手机为例,安装时系统会提示‘出于安全考虑,请去“设置”里安装’。

路径为:设置–安全与隐私–更多安全设置–从手机存储安装–CA 证书,不同手机路径可能不同,自己找下。

D6

此时,Fiddler 就已经可以抓取手机端发送到服务端的所有 HTTP/HTTPS 协议了

D7

这样,手机抓包的就算配置成功了,需要注意的是‘防火墙需要允许 Fiddler 进程可以远程链接’。

补充:解决Android7以上抓包失败问题
此外,在过程中发现,环境都配置好之后,还是会出现APP抓HTTPS抓不到的情况(Android7以上系统),有可能是App内置证书的问题 – SSL Pinning 机制(也可称为证书绑定)

备注:
需要设置过滤条件,在过滤器里面设置

类型过滤,一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉

.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff) 

D8

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有付出才能收获,只有奋斗才能成功;不要在困难面前退缩,努力闯过每个难关;相信自己的潜力,勇往直前,你一定能够创造属于自己的辉煌!

奋斗是成功的阶梯,每一步都坚定向前,不论困难与挫折。唯有坚持不懈,才能追逐梦想的光芒,成就辉煌的未来。相信自己,勇往直前,奋斗出属于自己的辉煌篇章!

只有拼尽全力,才能看到自己的无限可能;只有奋斗不息,才能抵达成功的彼岸。不要害怕困难与挑战,相信自己的坚持与努力,你定能迎接辉煌的未来!

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

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

相关文章

Java设计模式之行为型-迭代器模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色设计 四、案例分析 五、总结 一、基础概念 迭代器模式是一种常用的设计模式,它主要用于遍历集合对象,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 举个简单的…

第二章:Cyber RT通信机制解析与实践

Cyber RT解析与实践 第二章:Cyber RT通信机制解析与实践 Cyber RT解析与实践 Cyber RT解析与实践一、Cyber RT 通讯机制简介1. 话题2. 服务3. 参数 二、数据通信基础Protobuf1. Protobuf 简介2. Protobuf 创建3. Protobuf 编译4. Protobuf 案例实战 三、Cyber RT 话…

CPU性能指标简览

作为计算机的运算核心和控制核心,CPU(Central Processing Unit)由运算器、控制器、寄存器和实现其之间联系的数据、控制及状态的总线构成,决定着计算机运算性能强弱。作为信息技术产业的核心基础元器件,CPU的运作可分为…

3-40V输入,2.7V启动,20A电流,PWM\模拟信号调光

应用说明: Hi600X 是一系列外围电路简洁的宽调光比升压恒流驱动器,适用于 3-40V 输入电压范围的 LED 照明领域。 Hi600X 系列芯片,2.7V 启动电压,工作电压范围 5-40V,VIFB反馈电压 0.2V,提高整体转换效率。…

JVM的类加载机制和垃圾回收机制

目录 类加载机制类加载机制的步骤加载验证准备解析初始化 双亲委派模型工作原理双亲委派模型的优点 垃圾回收机制死亡对象的判断可达性分析算法可达性分析算法的缺点引用计数算法循环引用问题 垃圾回收算法标记-清除算法复制算法标记-整理算法分代算法 类加载机制 对于任意一个…

使用 vector + 递归 解决问题

class Solution {const char* To[10] { "","", "abc", "def", "ghi","jkl", "mno", "pqrs","tuv", "wxyz" };//常量字符串初始化string 注意此非定义(缺省值)--实例化…

收好这5个SVG编辑器,轻松实现高效创作

随着设计工作的不断发展,对SVG图形的需求也逐渐增加,SVG编辑器就随之诞生。可市面上的SVG编辑质量参差不齐,设计师无法第一时间找到适合自己的,于是本文就收集整理了5款相对来说比较好用的SVG编辑器为设计师们推荐,一起…

java项目之个人网站(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的个人网站。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架&#xf…

golang macaron静态资源访问配置

1、本地文件目录如下: 2、macaron配置 package mainimport ("log""net/http""gopkg.in/macaron.v1" )func myHandler(ctx *macaron.Context) string {return "the request path is: " ctx.Req.RequestURI }func main() …

基于linux下的高并发服务器开发(第一章)- Makefile(2)1.11

03 / 工作原理 ◼ 命令在执行之前,需要先检查规则中的依赖是否存在  如果存在,执行命令  如果不存在,向下检查其它的规则,检查有没有一个规则是用来生成这个依赖的,如 果找到了,则执行该规则中…

PowerShell 报错:因为在此系统上禁止运行脚本。有关详细信息

PowerShell 报错:因为在此系统上禁止运行脚本。有关详细信息 Import-Module : 无法加载文件 D:\\Documents\WindowsPowerShell\Modules\posh-git\1.1.0\posh-git.psm1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.…

k8s 查看程序日志输出

总是和k8s大交道,把相关的命令也学习一下 查看程序日志输出: kubectl logs -f ce202307130100024-gy-decision-xkygl-64f795ff7b-mtr67 --tail1000 不重定向的情况下,可以把多进程下的日志都输出出来。挺好用的 kubectl logs -f pod --tailxx…

稳定币成关键指标,DeFi蓝筹拥抱RWA!下轮牛市会由什么叙事掀起?

从上海升级、BRC20、Meme 乃至老调重弹的减半叙事,每一次热炒都会激起新的市场关注。上半年,稳定币市场经历了一波格局调整,不少 DeFi 项目也出现了一些引人注目的叙事。下轮牛市,会是新一轮“DeFi盛夏”吗? 作为一个半…

如何编写测试用例

用例的五个构成元素: 下面从这五个元素的角度,去剖析如何编写测试用例 用例标题 用例标题就是测试点名称。用例标题是用来说明这个用例的测试目的的,好的用例标题是别人看完你这个用例标题后就知道你这个用例是测什么的。但并不是标题越详…

(自动机)+(卡常)+(前缀和)

edu151 C. Strong Password 样例&#xff1a; s123412341234 m2 s11234 s24321nt[i][j]:有了j以后找下一个数的位置的坐标。void solve() {cin>>s;ll lens.size();vector<array<ll,10>>nt(len1);nt[len].fill(len1);for(int ilen-1;i>0;i--){nt[i]nt[i1]…

js每隔两条或者几条数据,则就插入(新增)一条数据

js每隔两条(自定义条数)数据&#xff0c;则添加一个空的 item&#xff08;这个也可以新增你指定的数据&#xff09;,但是最后一条则不需要新增条数 let temp [] // 你需要处理的原数据 // 新的数组 const newData []for (let i 0; i < temp.length; i) {// 将原始数据添…

Vue3 使用存储库Pinia(state)

一、创建state import { defineStore } from "pinia"; export const useStore defineStore(main, {state() {return {name: 张三,age:26 }} })二、引用store.js import {useStore} from "../store/store" // 引入store const store useStore()三、html…

Flutter底部导航BottomNavigationBar

Flutter底部导航BottomNavigationBar 主要代码&#xff1a; bottomNavigationBar: BottomNavigationBar(//选中菜单颜色fixedColor: Colors.red,//图标大小&#xff0c;默认24.0iconSize: 30,//第几个菜单选中currentIndex: currentIndex,//当item数量大于3个时需要设置type属…

线性回归模型(Linear regression)

- 回归问题的标记如下 【假设可以写成h&#xff0c;也可以写成函数f】 - 工作方式 这就是一个监督学习算法的工作方式&#xff0c;我们可以看到这里有我们的训练集&#xff08;房屋平米数x&#xff0c;房屋价格y&#xff09; &#xff0c;我们把它喂给我们的学习算法&#xf…

css3提供的网页布局

css3提供的网页布局 弹性盒子模型&#xff08;flex box&#xff09;&#xff1a; 设置成弹性盒子 默认横着排放&#xff08;div也是&#xff09; 当子盒子给的宽度过大&#xff0c;总的子盒子宽度超过父级盒子&#xff0c;会自动适配&#xff0c;计算整个盒子父级的大小&#…