Fiddler抓取HTTPs流量_weixin_34240520的博客-程序员宅基地

技术标签: 移动开发  

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名单。

 

Fiddler抓取移动端设备HTTPS流量步骤

 

打开tools->FiddlerOptions->HTTPS

 

勾选上Capture HTTPS CONNECTs和Decrypt HTTPS traffic

 

然后会提示安装证书,点击yes

 

点击是安装证书

 

打开certMgr.msc可以管理  PC上的所有证书,在受信任的根证书颁发机构->证书中会有一个DO_NOT_TRUST_FiddlerRoot证书,表明证书安装成功

 

然后在Connections中将Fiddler的监听端口设置为8888,同时勾选上Allow remote computers to connect允许远程连接

 

然后在HTTPS中点击Export Root Certificate to Desktop

 

然后桌面上会生成一个FiddlerRoot.cer的证书

 

 

下面需要将证书导入到移动设备中,以ipad为例,假设我的电脑在局域网中的ip是192.168.26.52,将Fiddler打开监听在8888端口上,通过在safari的地址栏中输入http://192.168.26.52:8888/FiddlerRoot.cer可以看到Fiddler服务正常开启,然后点击FiddlerRoot certificate将证书导入

 

点击安装

 

安装成功会有如下描述文件同时签名会通过认证

 

最后,在ipad的网络中设置手动代理,ip填写本机ip,端口填写8888即可抓取HTTPS包了

 

 

关于高版本Fiddler导出的证书在ipad上安装显示未验证的问题,Google原文如下:

Q:Can Fiddler intercept traffic from Apple iOS devices like iPad/iPhone/iPodTouch and Android devices?

A: Yes, but these devices may not becompatible with the default certificates Fiddler generates.

To resolve the incompatibility, you mayreplace Fiddler's default certificate generator with one that generatescertificates containing flags (e.g. AKID, SKID) that are compatible with theseplatforms. Simply download and install the newCertificateMaker and restart Fiddler.

 

安装一个证书生成器,下载地址:http://www.enhanceie.com/dl/FiddlerCertMaker.exe

然后重启Fiddler重新导出证书即可

转载于:https://www.cnblogs.com/8080zl/p/8385064.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34240520/article/details/93445752

智能推荐

java 流详解_Java中的流详解_贰叁伍叁的博客-程序员宅基地

一、Java中流的原理流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。四种基本流InputStream,OutputStream,Reader,Writer又分别有更具体的子类,分为文件流,缓冲流,数据流,转换流,Print流,Object流等,都分别有特定的功能或用来操作特定的数据。二、字节流2.1 Inpu...

java jsonarray string_String JSONObject JSONArray 转换_重生南华的博客-程序员宅基地

JSON使用阿里的fastJson为依赖包gradle依赖管理如下:compile group: ‘com.alibaba‘, name: ‘fastjson‘, version:‘1.2.41‘1、String转JSONObject前言:String 是JSONObject格式的字符串eg:JSONObject jSONObject = JSONObject.parseObject(String...

UML是什么?常用的几种图有哪些?_named tree的博客-程序员宅基地

  UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之间的交流。  UML标准建模语言中5种主要的类型图:1、用例图:指的是从用户角度来描述系统功能,并且指明...

学PYTHON笔记_I3E4zm的博客-程序员宅基地

1.a//b     意思是a整除b2.叠边形import turtleturtle.setup(500,500)turtle.pensize(5)for i in range(9):     turtle.fd(100)    turtle.right(80)“天天向上的力量”第三问#DayDayUpQ3.pydayup=1.0dayfactor=0.01for i in range(365):...

python中文件最重要的功能是什么和接收数据_python面试题_weixin_39602108的博客-程序员宅基地

正文Python基础篇1:为什么学习Python家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python,然后自己通过百度和向有学过Python的同学了解了Python,Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方比较多,特别是在人工智能,和数据分析这方面。在未来我觉得是往自动化,人工智能这方面发展的,所以学习了Python2:通过什么途径学习Py...

串口、COM口、TTL、RS-232的区别详解_You_Never_Come_Here的博客-程序员宅基地

1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。  2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。  3、PL2303、CP2102芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。  4、MAX232芯片是 TTL电平与RS2

随便推点

MT6752 LTE这个器件是什么型号?_szx940213的博客-程序员宅基地

MT6752 LTE这个器件是什么型号?这原理图上也没有写明确。问题来源:一牛网论坛 答案链接:MT6572

阿里云轻量级服务器CentOS7.3系统连接问题(Putty,Xshell)_贾继康的博客-程序员宅基地

文章目录阿里云轻量级服务器CentOS7.3系统连接问题(Putty,Xshell)一、前言二、准备工作三、为何不能使用密码连接?四、解决之道五、相关链接:五、Xshell5相关设置阿里云轻量级服务器CentOS7.3系统连接问题(Putty,Xshell)一、前言       博主之前通过密钥的方式实现了与Putty的连接(可参考此链接如何连接),...

苹果iPhone如何区分港版、国行、水货_weixin_33777877的博客-程序员宅基地

要想分辨所购买的苹果产品[iPhone 4、iPod Touch、iPad 2、iMac、MacBook及iPhone 4S]是大陆行货、水货、港货还是其它,其实很简单。今天来教大家如何区分。大陆行货、水货、港货还是其它XX货,其实就是它们的发行地不同,功能都是一样的。首先,要让大家了解,何谓为发行地的不同。发行地是说苹果产品所发行的国家或地区的不同,ZP为在香港发行的,LL为在美国发行的,CH为...

SD省队集训2019Day8之“有没有空”_weixin_30917213的博客-程序员宅基地

有没有空(busy)([Ynoi2018]天降之物)给你一个长为 n 的序列 a你需要实现 m 个操作,操作有两种:1.把序列中所有值为 x 的数的值变成 y2.找出一个位置 i 满足 ai==x,找出一个位置 j 满足 aj==y,使得|i-j|最小,并输出|i-j|部分分:二分考虑把整个区间分成两部分,那么这两个数要么都在左边,要么都在右边,要么一左一右。前两种情况可以递归解决,同...

关于PAT配置_赵文超z的博客-程序员宅基地

PAT配置 问题 在R1通过PAT配置实现企业内网192.168.0.0/24复用f0/1端口 方案网络拓扑如图-3所示:图-3 步骤实现此案例需要按照如下步骤进行。步骤一:基于端口的PAT配置限制1)删除动态NAT配置tarena-R1(config)#no ip nat inside source list 1tarena-R1(config)#no ip n...

推荐文章

热门文章

相关标签