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

​《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话​

1.简介

由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有抓到,怀疑是不是上了宏哥的当了。不是的哈,今天宏哥趁热打铁接着讲解如何抓取https协议会话。

2.什么是HTTPS?

HTTPS就是加过密的HTTP。使用HTTPS后,浏览器客户端和Web服务器传输的数据是加密的,只有浏览器和服务器端知道内容。

HTTPS = HTTP + TLS或者SSL。采用HTTPS的网站需要数字证书认证机构(Certificate Authority,CA)申请证书。

通过这个证书,浏览器在请求数据前与Web服务器有几次握手验证,以证明相互的身份,然后对HTTP请求和响应进行加密。

3.HTTPS协议传输的原理

HTTPS协议传输的原理和过程简图如下所示:

 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是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.Fiddler捕获Http协议会话

Fiddler是一个很好的抓包工具,默认是抓Http协议请求的(经过上一篇的配置就可以成功捕获),但是不会捕获Https协议会话,需要你进一步配置才能抓取Https会话。如下图所示:

 

5.Fiddler抓取HTTPS原理

现在无论是网站还是APP中的数据传输基本上都使用HTTS传输,传输的数据都是经过加密的,这增加了我们分析数据包的难度,还好Fiddler除了可以抓取HTTP数据包,还可以抓取HTTPS数据包。由于HTTPS传输需要使用到CA证书,所以抓取抓取HTTPS数据包时需要做一些特殊配置。Fiddler截取HTTPS报文的流程大致如下:

上图图解说明:

1) 客户端请求建立HTTPS链接,发送客户端支持的加密协议及版本列表等信息给服务器端。

2) Fiddler接受客户端请求并伪装成客户端向WEB服务器发送相同的请求。

3) WEB服务器收到Fiddler的请求以后,从请求中筛选合适的加密协议。并返回服务器CA证书,证书中包括公钥信息。

4) Fiddler收到WEB服务器的响应后保存服务器证书并自签名一个CA证书,伪装成服务器,把该证书下发给客户端。

5) 客户端验证证书合法性。(Fiddler能否抓取到HTTPS报文关键看这一步)。

6) 客户端生产对称密钥,通过证书的公钥加密发送给服务器。

7) Fiddler拦截客户端的请求以后,使用私钥解密该报文,获取对称加密秘钥,并使用服务器证书中带的公钥加密该对称密钥发送给WEB服务器。此时对称密钥已经泄露了,以后可以使用该秘钥界面客户端和服务器端传输的数据。

8) WEB服务器接收到客户端发送的加密的对称密钥后使用私钥解密,并使用对称密钥加密测试数据传给客户端。

9) Fiddler使用前面获取的对称密钥解密报文。

10) 客户端验证数据无误以后HTTPS连接就建立完成,客户端开始向服务器发送使用对称密钥加密的业务数据。

11) Fiddler使用前面获取的对称密钥解密客户端发送的数据并重新加密转发给客户端。

6.Fiddler捕获Https协议会话

默认情况下,Fiddler不会捕获HTTPS请求,需要进行设置。

当浏览器访问HTTPS网页的时候,Fiddler能捕获到很多握手验证的请求,比如用浏览器访问:Https://www.baidu.com ,在Fiddler中就能抓到很多“Tunnel to”的请求,如下图所示:

 

1.在没有进一步配置之前用Fiddler抓包时候,分别用FireFox和Chrome浏览器打开百度网页:https://www.baidu.com 可以在会话面板看到百度信息,但是进行查看是Fiddler的监控面板出现黄色的告警“Https decryption is disabled click to configure”(翻译:https 解密被禁用 ,点击配置)。至于IE浏览器,微软已经官宣它已经要落幕退役,宏哥这里就不做过多的介绍了。当然了Firefox浏览器有些版本也会有特殊情况需要你进一步配置,这个宏哥在后边会做介绍的。如下图所示:

从上图中我们可以清楚地看到Host列中出现Tunnel to...字样”,总之以后如果会话列表中的Host列中出现Tunnel to...字样都说明是证书的问题, 这种就不能抓取到我们想要的会话。那么要抓取https协议的会话需要打开配置安装证书才可以,毕竟目前很多网站都是https协议的, 所以在抓包之前,我们还要配置一下证书 否则无法抓包。那么接下来跟随宏哥看看Fiddler如何配置证书。

6.1Fiddler证书配置

1.启动FIddler,然后在菜单栏点击Tools---->Options---->HTTPS 。如下图所示:

2.依次勾选“Capture HTTPS CONNECTs”(捕获HTTPS连接)和勾选“Decrypt HTTPS traffic”(解密HTTPS流量),然后会弹出一个对话框 直接点击YES即可。如下图所示:

 

 

敲黑板!!!

你是第一次安装的Fiddler那么正常情况下会弹出证书安装的相关提示。如果有的小伙伴或者童鞋们没有弹出提示,你也不要着急上火和担心,你可以点击Actions---> Trust Root Certificate(信任根证书)就会弹出一模一样的证书安装相关提示。如下图所示:

3.点击“Yes”后,接下来弹出的对话框全部傻瓜式地点击“是”即可。如下图所示:

 4.弹出“Added Fiddler's root certificate to the Machine Root list”(将Fiddler的证书添加到机器根目录列表中) ,点击“确定”。如下图所示:

5.最后把下面的:“Ignore server certificate errors(unsafe)”忽略服务器证书错误(不安全)和“check for certificate revocation ”(证书撤销检查)这两个选项也勾选上。如下图所示:

 

到此证书也已经安装到Fiddler上了。

6.2查看安装到Fiddler的证书

6.2.1方法一

1.我们可以点击Actions中选择Open Windows Certificate Manager这一个选项, 打开打开Windows证书管理器去查看。如下图所示:

 

2.打开打开Windows证书管理器 之后点击菜单栏上的 操作--->查找证书然后输入Fiddler 就会查找出证书了(如果没有说明没有安装成功),如下图所示:

3.证书名为DO_NOT_TRUST_FiddlerRoot 大家可以对照着看看。如下图所示:

 

 

6.2.2方法二

1.WIN+R打开运行,输入certmgr.msc回车,点击“受信任的根证书颁发机构--->点击“证书”。查看,如下图所示:

6.3信任证书

证书安装了之后 还要设置一下信任才行。具体操作步骤如下:

1.直接选择Tools--->Options---->HTTPS---->Actions--->Trust Root Certificate 。如下图所示:

2.在接下来弹出的对话框中直接点击确定或yes就行了,如下图所示:

 好了到此为止,大功告成!现在如果不出意外的话就可以进行正常的抓取HTTPS包了。

敲黑板!!!

如果还是不行,那么最好重置一下证书 在Actions中选择Reset All Certificates(重置所有证书) 然后点击确定删除Fiddler所配置的证书,最后重新执行之前的步骤就可以了。

7.小结

 今天宏哥主要简单的讲解和分享了Fiddler如何设置捕获Https会话 ,后边会一一展开进行详细的分享和讲解,好了时间不早了今天就到这里,感谢大家耐心地阅读!!!

会遇到的问题:

证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root.... 如下图所示:

解决方案:

找到fiddler->工具栏tools->options,再选择HTTPS,点击CertEnroll engine,选择MakeCert即可点击OK保存,最后切记重启fiddler!!!

8.拓展

我们在Skip decryption中输入ip地址或者域名可以用来跳过该主机或域名的https数据抓取,这个也相当于一种过滤功能吧!如下图所示:

 

 

相关文章:

​《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话​

1.简介 由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有…...

对比CahtGPT Bard Claude2对中文的理解

对比CahtGPT Bard Claude2对中文的理解 今天简单测试了一下目前这三个很火的模型对中文的理解能力 简单问题 鲁迅和周树人的关系 Bard CahtGPT Claude 介绍一下平凡的世界这本书 Bard CahtGPT...

安全测试国家标准解读——并发程序安全

本系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解,该标准是2020年4月28日,由国家市场监督管理总局、国家标准化管理委员会发布,2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理&#xff…...

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹…...

MySQL中锁的简介——行级锁

1.行级锁概念及分类 可通过以下语句查看意向锁和行锁的加锁情况: select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks;InnoDB的行锁是针对于索引加的锁,不通过索引条件检索数据&#xff0…...

4 个最常见的自动化测试挑战及应对措施

有人说:“杂乱无章的自动化只会带来更快的混乱。”不仅更快,而且是更严重、更大的混乱。如果使用得当,自动化可以成为测试团队中令人惊叹的生产力助推器和系统的质量增强器。自动化测试的关键是要正确运用,这是初始最困难的部分。…...

23款奔驰GLE450豪华型升级AMG直瀑式中网,战斗感立马提升了一个档次

奔驰GLE450豪华型升级AMG竖杠中网前进气格栅,AMG中网竖杠格栅,镀铬饰条呈圆弧状,色泽均衡,质感顺滑,极富冲击力。AMG专属字标,与中网卡扣装配紧密,凸显AMG的身份象征,点睛之笔又不显…...

ALLEGRO之Logic

本文主要讲述ALLEGRO的Logic菜单。 (1)Net Logic:暂不清楚; (2)Net Schedule:暂不清楚; (3)AssignDifferential Pair:暂不清楚; &a…...

算法leetcode|64. 最小路径和(rust重拳出击)

文章目录 64. 最小路径和:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 64. 最小路径和: 给定一个包含非负整数的 m x n 网…...

css---实现文本超过两行时显示省略号(...)的效果

可以使用CSS中的text-overflow属性配合-webkit-line-clamp属性来实现。以下是一种常见的方式: .text-container {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2; /* 设置最大显示行数 */-webkit-box-orient: vertical;text-overflow: ellipsis; }在…...

30-使用RocketMQ做削峰处理

1、增加排队功能的思路 在出票模块里,一个消费者拿到了某个车次锁,则该车次下所有的票都由他来出,一张一张的出,知道所有的订单都出完。 2、实现排队出票功能 2.1、 修改发送到MQ消息的内容 修改MQ消息内容,只需要通知出哪天和哪个车次的票(即:组成锁的内容),不需要…...

如何用非root账号安装k8s集群

在大多数情况下,为了安装 Kubernetes(K8s)集群,需要具有root权限或者以root身份执行某些操作,例如安装软件包和配置系统级别的设置。然而,你可以通过以下方法在非root账号下安装K8s集群: 使用Mi…...

windows环境安装elasticsearch+kibana并完成JAVA客户端查询

下载elasticsearch和kibana安装包 原文连接:https://juejin.cn/post/7261262567304298554 elasticsearch官网下载比较慢,有时还打不开,可以通过https://elasticsearch.cn/download/下载,先找到对应的版本,最好使用迅…...

高精度算法

基础模板: (411条消息) 高精度加法_会笑的小熊的博客-CSDN博客 (411条消息) 高精度乘法_会笑的小熊的博客-CSDN博客 (411条消息) 高精度减法_会笑的小熊的博客-CSDN博客 目录 P1601 AB Problem(高精) P1303 A*B Problem P1009 [NOIP1998 普…...

DragGAN:用崭新的方式进行图像处理

该项目的论文被SIGGRAPH 2023 收录,论文以 StyleGAN2 架构为基础,实现了 “Drag” 关键点就能轻松 P 图的效果。 https://github.com/XingangPan/DragGAN https://vcai.mpi-inf.mpg.de/projects/DragGAN/ 目录 原图1测试一测试二测试三 原图2测试一测试…...

语音播放 linux

调整语音音量大小 pactl list sinks pactl set-sink-volume 15 12345 # 15可以改成别的id安装pip install pyttsx3 sudo apt-get update sudo apt-get install espeak sudo ldconfig pip3 install pyttsx3代码 import pyttsx3 import threading def speak_work(text):engine…...

各大互联网公司面经分享:Java 全栈知识 +1500 道大厂面试真题

这篇文章给大家分享一下我遇到的一些质量较高的面试经历,具体经过就不多说了,就把面试题打出来供各位读者老哥参考如有不全的地方,各位海涵。 猿辅导 八皇后问题 求二叉树的最长距离(任意两个节点的路径 中最长的) lru 算法的实现 设计一…...

【LeetCode】剑指offer礼物的最大价值

礼物的最大价值 题目描述算法分析编程代码 链接: 礼物的最大价值 题目描述 算法分析 编程代码 class Solution { public:int maxValue(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();vector<vector<int>> dp(m1,vector…...

应用层协议——https

文章目录 1. HTTPS 是什么2. 什么是"加密"3. 常见的加密方式4. 数据摘要 && 数字签名5. HTTPS 的工作过程探究5.1 方案1 - 只使用对称加密5.2 方案2 - 只使用非对称加密5.3 方案3 - 双方都使用非对称加密5.4 方案4 - 非对称加密 对称加密5.5 中间人攻击5.6 …...

Emacs之实现鼠标/键盘选中即拷贝外界内容(一百二十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...