解决fiddler抓不到https请求

刚开始启动Fiddler,设置代理后,直接打开浏览器,输入我们最记得的网址“baidu.com”,发现Fiddler什么都抓不到,这是为什么呢?难道是我的配置有问题,重新检查一下,浏览器的代理已经设置好了,这是为什么?

你想想baidu.com的整个url地址 “https:baidu.com”,百度是采用“https”,在没有设置https相关的配置之前,是抓不到的。

然后,去找各种怎么抓取https的文章,跟着一起设置

如已经安装过Fiddler,建议先将一些缓存和证书清理掉,在重新安装

第一步:将 [C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto\RSA]文件夹下面的内容删除掉

第二步:打开浏览器,打开证书管理,将关于Fidder的证书 ,删掉(要找清楚,若安装过多次,可能出现多个Fiddler的证书)

第三步:win+R ->certmgr.msc -》打开证书 -》查找Fiddler的证书,找到几个就删除几个(曾经在我的电脑里面找到100多个,不要问我这么多证书从哪里来),一般情况下,只有一个

第四步:卸载当前的Fiddler,然后重新安装,安装成功后,打开https

第五步,你能猜到是导出证书吗?

比较重要的步骤:

第一步:比较重要的是:下载并安装Fiddler证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2,下载成功后,点击打开,安装;

第二步:安装好了之后,点击Action ->trust  root certificate ->export root certificate to the destop

第三步:将导出的证书,导入到浏览器的证书中(浏览器要设置代理,端口号要和Fiddler的一致)

经过以上步骤后,重启浏览器和Fiddler,重新打开后,再尝试抓取https,成功了

参考文章:https://www.cnblogs.com/joshua317/p/8670923.html 、http://www.51testing.com/html/63/n-3727063.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 因为Fiddler默认只能捕获HTTP请求,而HTTPS是一种经过加密的网络传输协议,无法通过Fiddler直接捕获明文数据。如果要捕获HTTPS请求,需要进行SSL/TLS解密,需要在Fiddler中安装证书和进行相关设置。 ### 回答2: Fiddler是一款功能强大的网络调试工具,可以帮助开发人员在开发过程中分析和调试网络请求和响应。但是,有时候我们发现Fiddler无法捕获HTTPS请求和响应。这是因为HTTPS传输是加密的,而Fiddler无法直接解密并分析加密后的数据。 HTTPS传输是通过TLS/SSL协议进行加密的,其过程大概分为以下三步: 1. 客户端向服务器发起HTTPS请求请求访问一个加密网址。 2. 服务器将证书发送给客户端。 3. 客户端验证证书的有效性,并使用证书中的公钥对一些随机生成的密钥进行加密,然后将加密后的密钥发送给服务器。服务器收到加密的密钥后使用自己的私钥进行解密,得到一组密钥。 这个过程中加密和解密的过程都需要TLS/SSL协议进行加密和解密,而Fiddler并没有TLS/SSL协议的证书,无法对加密的数据进行解密,因此无法HTTPS请求和响应。 但是,Fiddler提供了一种解决方案——通过安装Fiddler的根证书使得Fiddler可以识别HTTPS请求。 安装Fiddler的根证书可以通过以下步骤实现: 1. 打开Fiddler,选择菜单栏中的“Tools”->“Options”。 2. 在弹出窗口中选择“HTTPS”选项卡,勾选“Capture HTTPS CONNECTs”和“Decrypt HTTPS traffic”。 3. 下载“DO_NOT_TRUST_FiddlerRoot.crt”证书文件。 4. 安装证书,将“DO_NOT_TRUST_FiddlerRoot.crt”证书文件导入到“受信任的根证书颁发机构”: a. Windows:选择“开始”菜单 -> “运行” -> 输入“mmc” -> “文件” ->“添加/删除管理单元”->“证书”->“计算机账户”->“受信任的根证书颁发机构”->右键->“所有任务”->“导入”->选择“DO_NOT_TRUST_FiddlerRoot.crt”证书文件->完成。 b. Mac: 打开找“钥匙串访问器”程序->添加证书->选择“DO_NOT_TRUST_FiddlerRoot.crt”证书文件->完成。 5. 重启Fiddler。 这样,Fiddler就可以HTTPS请求和响应了。但需要注意的是,HTTPS请求和响应会危及用户的隐私和安全,因此,建议仅在开发和测试环境下使用。其他环境下,应该避免HTTPS请求和响应。 ### 回答3: Fiddler是一个强大的网络调试工具,但在HTTPS流量时会存在一些限制。主要原因是HTTPS是SSL / TLS协议的加密传输,为保证通信的安全性,加密也限制了Fiddler的能力。 首先,Fiddler默认安装是作为一个代理服务器运行的,它会在本地创建一个代理端口,客户端通过该端口连接上Fiddler代理服务器,在其它一些网络设置如PAC、代理等配置中选择并指定Fiddler代理服务器,然后从代理服务器接收请求,由代理服务器发送请求到目标主机,再由目标主机返回到代理服务器,最后由代理服务器返回给客户端。 对于HTTP流量,当客户端通过代理端口访问任意站点,流量会通过Fiddler代理服务器,因此Fiddler可以在客户端和目标主机之间捕获请求和响应并显示在窗口中。然而,在HTTPS流量的情况下,事情变得有点复杂。 首先,在HTTPS握手过程中,客户端和服务器会通过SSL / TLS交换密钥进行安全交流,因此Fiddler不能直接进行这里的加密,而是会由Fiddler生成自己的安全证书并与客户端和服务器协商使用,因此中间会增加一些代理服务器的交互流,从而影响性能。 其次,由于信息加密,Fiddler无法使用HTTPS协议的域名解析,因此无法获取SSL / TLS连接所需的主机头信息和IP地址。因此,由Fiddler截获的HTTPS流量只能看到域名和加密内容的TLS密钥,而不能得到详细的请求和响应信息。 最后,由于HTTPS通信加密,因此Fiddler无法对HTTPS流量进行分析和编辑。因此,Fiddler仅可使用有限的功能检查SSL / TLS客户端和服务器之间的连接。 总之,Fiddler虽然不能完全捕获HTTPS流量,但它仍是一个非常有用的网络调试工具。除此之外,还可以应用代理服务器与其他工具配合使用,来协助完成所需要的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值