| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 第九:Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话 -> 正文阅读 |
|
[网络协议]第九:Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话 |
一.简介 1.由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有抓到,怀疑是不是上了当了。不是的哈,今天趁热打铁接着讲解如何抓取https协议会话。 二.什么是HTTPS? 1.HTTPS就是加过密的HTTP。使用HTTPS后,浏览器客户端和Web服务器传输的数据是加密的,只有浏览器和服务器端知道内容。 2.HTTPS = HTTP + TLS或者SSL。采用HTTPS的网站需要数字证书认证机构(Certificate Authority,CA)申请证书。 3.通过这个证书,浏览器在请求数据前与Web服务器有几次握手验证,以证明相互的身份,然后对HTTP请求和响应进行加密。 三.HTTPS协议传输的原理 四.Fiddler捕获Http协议会话 1.Fiddler是很好的抓包工具,默认是抓Http协议请求的(经过上一篇的配置就可以成功捕获),但是不会捕获Https协议会话,需要你进一步配置才能抓取Https会话。 五.Fiddler抓取HTTPS原理 1.现在无论是网站还是APP中的数据传输基本上都使用HTTS传输,传输的数据都是经过加密的,这增加了分析数据包的难度,还好Fiddler除了可以抓取HTTP数据包,还可以抓取HTTPS数据包。由于HTTPS传输需要使用到CA证书,所以抓取抓取HTTPS数据包时需要做一些特殊配置。 2.Fiddler截取HTTPS报文的流程大致如下 3.上图图解说明
六.Fiddler捕获Https协议会话 1.默认情况下,Fiddler不会捕获HTTPS请求,需要进行设置。 2.当浏览器访问HTTPS网页的时候,Fiddler能捕获到很多握手验证的请求,比如用浏览器访问:Https://www.baidu.com ,在Fiddler中就能抓到很多“Tunnel to”的请求 3.在没有进一步配置之前用Fiddler抓包时候,分别用FireFox和Chrome浏览器打开百度网页:https://www.baidu.com 可以在会话面板看到百度信息,但是进行查看是Fiddler的监控面板出现黄色的告警“Https decryption is disabled click to configure”(翻译:https 解密被禁用 ,点击配置)。至于IE浏览器,微软已经官宣它已经要落幕退役,这里就不做过多的介绍了。当然了Firefox浏览器有些版本也会有特殊情况需要你进一步配置,这个在后边会做介绍的。 4.从图中可以清楚地看到Host列中出现Tunnel to…字样”,总之以后如果会话列表中的Host列中出现Tunnel to…字样都说明是证书的问题,这种就不能抓取到我们想要的会话。那么要抓取https协议的会话需要打开配置安装证书才可以,毕竟目前很多网站都是https协议的,所以在抓包之前,我们还要配置一下证书 否则无法抓包。那么接下来跟随看看Fiddler如何配置证书。 七.Fiddler证书配置 1.启动FIddler,然后在菜单栏点击Tools---->Options---->HTTPS 。 2.依次勾选“Capture HTTPS CONNECTs”(捕获HTTPS连接)和勾选“Decrypt HTTPS traffic”(解密HTTPS流量),然后会弹出一个对话框 直接点击YES即可。 3.敲黑板!!! 3.1.第一次安装的Fiddler那么正常情况下会弹出证书安装的相关提示。如果有的小伙伴或者童鞋们没有弹出提示,也不要着急上火和担心,可以点击Actions—> Trust Root Certificate(信任根证书)就会弹出一模一样的证书安装相关提示。 3.2.点击“Yes”后,接下来弹出的对话框全部傻瓜式地点击“是”即可。 3.3.弹出“Added Fiddler’s root certificate to the Machine Root list”(将Fiddler的证书添加到机器根目录列表中) ,点击“确定”。 3.4.最后把下面的:“Ignore server certificate errors(unsafe)”忽略服务器证书错误(不安全)和“check for certificate revocation ”(证书撤销检查)这两个选项也勾选上。到此证书也已经安装到Fiddler上了。 八.查看安装到Fiddler的证书 1.方法一 1.1.可以点击Actions中选择Open Windows Certificate Manager这一个选项, 打开打开Windows证书管理器去查看。 1.2.打开打开Windows证书管理器 之后点击菜单栏上的 操作—>查找证书然后输入Fiddler 就会查找出证书了(如果没有说明没有安装成功) 1.3.证书名为DO_NOT_TRUST_FiddlerRoot 大家可以对照着看看。 2.方法二 2.1.WIN+R打开运行,输入certmgr.msc回车,点击“受信任的根证书颁发机构—>点击“证书”,查看 九.信任证书 1.证书安装了之后,还要设置一下信任才行。 1.1.直接选择Tools—>Options---->HTTPS---->Actions—>Trust Root Certificate 。 1.2.在接下来弹出的对话框中直接点击确定或yes就行了。好了到此为止,大功告成!现在如果不出意外的话就可以进行正常的抓取HTTPS包了。 3.敲黑板!!! 3.1.如果还是不行,那么最好重置一下证书 在Actions中选择Reset All Certificates(重置所有证书) 然后点击确定删除Fiddler所配置的证书,最后重新执行之前的步骤就可以。 十.小结 1.会遇到的问题:证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root… 2.解决方案:找到fiddler->工具栏tools->options,再选择HTTPS,点击CertEnroll engine,选择MakeCert即可点击OK保存,最后切记重启fiddler!!! 十一.拓展 1在Skip decryption中输入ip地址或者域名可以用来跳过该主机或域名的https数据抓取,这个也相当是过滤功能! |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:46:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |