zoukankan      html  css  js  c++  java
  • Fiddler关闭后打不开网页

    今天项目系统测试的时候,CS客户端的Restful请求都失败,但是实际上的服务是正常开启的,马上通过cmd指令ping了一下服务,正常;再用telnet试了一下端口,也是正常。不过随后发现在这台电脑上面,也无法访问服务的界面。这时候实在想不出是什么原因造成这种情况,都快亮出重启的大招的时候,看见测试电脑上面装了Fiddler,就打开Fiddler,重新开启软件,restful请求一切正常,没有任何问题,再试一下web界面也是正常。

    1. Fiddler的工作原理

    Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 当Fiddler启动后将自己变成一个代理服务器,这个代理服务器默认监听127.0.0.1:8888.然后打开IE的时候,IE浏览器会以127.0.0.1:8。 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。

    2. Fiddler的工作流程

    首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。
    第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
    第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。
    第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
    第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。
    第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。
    第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
    第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文
    由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

    3.解决方法

    结合Fiddler的工作原理,可能是Fiddler没有自动注销造成,所以修改 IE浏览器的默认代理即可完成。

    打开IE浏览器-》在IE浏览器的设置选项中-》连接-》局域网设置-》代理服务器取消掉。

  • 相关阅读:
    在vue项目中引用element-ui时 让el-input 获取焦点的方法
    vue cli 平稳升级webapck4
    如何在 vuex action 中获取到 vue 实例
    Vue主要原理最简实现与逻辑梳理
    vue自定义指令clickoutside扩展--多个元素的并集作为inside
    关于使用element中的popup问题
    教你如何检查一个函数是否为JavaScript运行时环境内建函数
    用 Vue 做一个简单的购物app
    vue 手机键盘把底部按钮顶上去
    基于Linux的智能家居的设计(2)
  • 原文地址:https://www.cnblogs.com/Johar/p/9209260.html
Copyright © 2011-2022 走看看