转载地址:https://yoursunny.cn/t/2011/FiddlerHTTPS/

在服务器上用Fiddler抓取HTTPS流量

开发互联网应用的过程中,常常会设立或利用网络接口。为了调试对网络接口的使用,往往需要查看流入和流出网络接口的网络流量或数据包。“抓包工具”就是一类用于记录通过网络接口的数据的工具。

我们知道,网络协议是分层设计的,OSI模型将网络协议分为了7个层次。不同的抓包工具,可以在网络协议的不同层次上工作。常用的Wireshark就是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议。虽然Wireshark功能强大,但是却并不能解决所有的抓包问题,其原因在于:

  • Wireshark工作在网络层;如果计算机配置了IPSec传输层加密,则在网络层的流量都已经被加密,什么也看不到。
  • 当今大量网络接口使用HTTPS加密,Wireshark不能抓取到HTTPS流量的明文内容。

那么,如何抓取到HTTPS请求的明文内容呢?使用Fiddler就可以办到。

Fiddler是Eric Lawrence编写的HTTP抓包软件。Fiddler工作在应用层上,作为其他程序的HTTP代理服务器。它可以直接抓取并分析HTTP流量,也可以作为“中间人”抓取并分析HTTPS流量。

Fiddler抓取HTTPS流量的原理

TLS是一种端到端的传输层加密协议,是HTTPS协议的一个组成部分。访问HTTPS站点时,HTTP请求、响应都通过TLS协议在浏览器和服务器之间加密传输,并且通过数字证书技术保证数据的保密性和完整性;任何“中间人”、包括代理服务器都只能转发数据,而无法窃听或者篡改数据。

要抓取HTTPS流量的明文内容,Fiddler必须解密HTTPS流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler通过使用另一个数字证书重新加密HTTPS流量。Fiddler被配置为解密HTTPS流量后,会自动生成一个名为DO_NOT_TRUST_FiddlerRoot的CA证书,并使用该CA颁发每个域名的TLS证书。若DO_NOT_TRUST_FiddlerRoot证书被列入浏览器或其他软件的信任CA名单内,则浏览器或其他软件就会认为HTTPS会话是可信任的、而不会再弹出“证书错误”警告。

开启HTTPS流量解密功能后,Fiddler将会提示用户将DO_NOT_TRUST_FiddlerRoot证书列入IE浏览器的信任CA名单。用于调试客户端时,这已经足够了;Firefox用户也可以很方便的手动导入DO_NOT_TRUST_FiddlerRoot证书。但是,若要在服务器上抓取ASP.Net发出的HTTPS请求,这是不够的——你必须将DO_NOT_TRUST_FiddlerRoot证书导入“机器帐号”的信任CA名单。

操作录像

该录像演示了下列操作:

  1. 开启Fiddler的HTTPS流量解密功能
  2. 将DO_NOT_TRUST_FiddlerRoot证书导入“机器帐号”的信任CA名单
  3. 将PHP脚本的代理服务器设置为127.0.0.1:8888,并抓取HTTPS请求

这里有一个视频,详细给出了如何以上三个步骤,请去源地址查看:https://yoursunny.cn/t/2011/FiddlerHTTPS/

主要网络开发框架的抓包配置

Fiddler的工作方式是代理服务器(端口号8888)。只要开发框架支持设置HTTP代理服务器,都可以使用Fiddler。

#PHP curl
$ch=curl_init('https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');//设置代理服务器 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//若PHP编译时不带openssl则需要此行 $resp=curl_exec($ch); curl_close($ch);
<!-- ASP.Net web.config -->
<configuration><system.net> <defaultProxy enabled="false"> <proxy proxyaddress="http://127.0.0.1:8888/"/> </defaultProxy> </system.net> </configuration>

如果你使用linux服务器,请将Fiddler安装在一台Windows计算机上并在Tools - Fiddler Options - Connections勾选Allow remote computers to connect,并手动将FiddlerRoot.cer导入linux服务器的信任CA名单,最后将代理服务器设置成Fiddler所在IP的8888端口。

转载于:https://www.cnblogs.com/keke-xiaoxiami/articles/5379593.html

【转载】在服务器上用Fiddler抓取HTTPS流量相关推荐

  1. 在服务器上用Fiddler抓取HTTPS流量

    http://yoursunny.com/t/2011/FiddlerHTTPS/ 阳光男孩 发表于2011-03-19 开发互联网应用的过程中,常常会设立或利用网络接口.为了调试对网络接口的使用,往 ...

  2. Fiddler抓取HTTPs流量

    Fiddler抓取HTTPS流量的原理 TLS是一种端到端的传输层加密协议,是HTTPS协议的一个组成部分.访问HTTPS站点时,HTTP请求.响应都通过TLS协议在浏览器和服务器之间加密传输,并且通 ...

  3. 浅谈HTTPS以及Fiddler抓取HTTPS协议

    原文 浅谈HTTPS以及Fiddler抓取HTTPS协议 最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求 ...

  4. HTTPS-使用Fiddler抓取HTTPS数据包原理

    最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

  5. 使用fiddler抓取HTTPS协议数据与疑难杂症终极解决方案

    作者:韦玮 转载请注明出处 常规设置: Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大 ...

  6. 抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  7. Fiddler抓取https数据报文,Fiddler数字证书解决方案

    前言: 一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度. ...

  8. 如何用fiddler抓取HTTPS的详细教程(附fiddler安装教学)

    对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler,可是在初学时,大家对于fiddler如何抓取HTTPS真是伤了脑筋,可能你一步步按着网上的帖子成功了,那当然是极好的,有可能没有成功 ...

  9. Fiddler抓取https相关设置

    转自:https://www.cnblogs.com/joshua317/p/8670923.html 很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就 ...

最新文章

  1. PAT甲级1066 Root of AVL Tree (25分):[C++题解]建立平衡树(AVL树)
  2. C语言逆序字符串(递归实现)
  3. 关于apache和tomcat集群,线程是否占用实验
  4. python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
  5. 什么是WebSocket,它与HTTP有何不同?
  6. mysql三大范式 答案_数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩...
  7. layui官方文档镜像,layui主页,layui镜像网站,layui资源下载,技术文档
  8. apt安装包时报错:Certificate verification failed: The certificate is NOT trusted.
  9. 基于jsp+java+ssm的大学生缴费系统-计算机毕业设计
  10. Excel中随机生成数字,函数RANDBETWEEN()的使用
  11. 对创建的screen会话进行恢复时出现:There is no screen to be resumed matching XXX 解决办法
  12. d3.js环形统计图代码
  13. HTTP协议漫谈 - HTTP协议历史和报文结构
  14. vi编辑器 末尾添加_vi编辑器操作指令分享
  15. r语言中残差与回归值的残差图_用R语言做回归分析_iris数据集/longley数据集
  16. MATLAB算法实战应用案例精讲-【数据分析】时序异常检测(附实战应用案例)
  17. 3天增粉10W+,这是活动的全程复盘
  18. 什么牌子的蓝牙耳机音质好?音质超好的蓝牙耳机测评
  19. cocos tween
  20. rocket mq 用户名密码访问

热门文章

  1. 复地集团的现代化办公方案
  2. nginx模型概念和配置文件结构
  3. CF Educational Round 23 F.MEX Queries
  4. 再谈 Struts1.x 的运行机制
  5. android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边
  6. 设计模式学习笔记十五——Command模式
  7. Jmeter性能测试入门(一)
  8. sigterm sigint sigkill 区别
  9. Ubuntu12.04配置LAMP 环境
  10. JavaScript语言基础2