zoukankan      html  css  js  c++  java
  • 使用Fiddle监听HTTPS网页

    HTTPS相对于HTTP增加了安全性,但是仍然不能有效的防止中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)

    这就使得Fiddle工具能够有效的监听HTTPS流量

    一个HTTPS网站的正常访问流程是这样的

    中间人攻击在于对浏览器加入自己的CA,伪造数字证书,对流量进行转发

    加入自己的CA是为了让伪造的数字证书变得可信,欺骗过浏览器

    伪造数字证书是为了监听HTTPS 交互的具体内容

    下面俩个图给出了中间人攻击的HTTPS的请求和响应两个阶段

    中间人攻击的最重要一环在于把自己的CA放入浏览器中,方法有很多,比如:病毒、木马、社会工程学......

    好了,原理简单的讲完了,接下来我们来设置Fiddle

    首先下载Fiddle

    下载地址:http://www.telerik.com/download/fiddler

    至于下载哪个版本

    win7以及之前的XP建议下载.net2版本,win8/8.1以及之后的版本建议下载.net4版本

    原因在于:win7内置.net2,xp可以安装.net2,win8/8.1内置.net4版本

    笔者这里安装.net4版本的

    下载之后是fiddler4setup.exe,双击安装不用说

    接下来看配置

    打开Fiddle

    Tools[工具]-->Fiddler Options...[Fiddle 选项...]-->HTTPS-->勾选Decrypt HTTPS traffic[解密HTTPS流量]

    Tools[工具]-->Fiddler Options...[Fiddle 选项...]-->Connections-->勾选Allow remote computers to connection[允许远程计算机连接]

    设置好后关闭重启Fiddle

    接下来我们为浏览器导入证书

    浏览器打开http://127.0.0.1:8888/

    在Fiddle Echo Service页面中点击FiddlerRoot certificate,然后根据浏览器提示导入证书

    监听安卓客户端时,需要通过电脑设置wifi热点,任何安卓手机连接上改热点,证书下载地址的IP改成网关的IP

    ip一般都可以通过ipconfig命令查出来

    笔者查询的结果如下

    C:Windowssystem32>ipconfig
    
    Windows IP 配置
    
    
    无线局域网适配器 WLAN 3:
    
       连接特定的 DNS 后缀 . . . . . . . :
       本地链接 IPv6 地址. . . . . . . . : fe80::481a:1efd:d5d4:a87b%23
       IPv4 地址 . . . . . . . . . . . . : 192.168.253.1
       子网掩码  . . . . . . . . . . . . : 255.255.255.0
       默认网关. . . . . . . . . . . . . :
    
    无线局域网适配器 WLAN:
    
       媒体状态  . . . . . . . . . . . . : 媒体已断开
       连接特定的 DNS 后缀 . . . . . . . :
    
    以太网适配器 以太网:
    
       连接特定的 DNS 后缀 . . . . . . . :
       本地链接 IPv6 地址. . . . . . . . : fe80::7495:5b85:a10c:3cb7%3
       IPv4 地址 . . . . . . . . . . . . : 172.18.62.201
       子网掩码  . . . . . . . . . . . . : 255.255.255.0
       默认网关. . . . . . . . . . . . . : 172.18.62.1
    
    以太网适配器 VMware Network Adapter VMnet8:
    
       连接特定的 DNS 后缀 . . . . . . . :
       本地链接 IPv6 地址. . . . . . . . : fe80::5919:851f:5249:17f1%21
       IPv4 地址 . . . . . . . . . . . . : 192.168.116.1
       子网掩码  . . . . . . . . . . . . : 255.255.255.0
       默认网关. . . . . . . . . . . . . :
    
    隧道适配器 isatap.{784B4179-BA1C-4521-9B8D-F8E29487D30B}:
    
       媒体状态  . . . . . . . . . . . . : 媒体已断开
       连接特定的 DNS 后缀 . . . . . . . :
    
    隧道适配器 isatap.{0FF64FC6-5250-4E80-8D12-902E97461A8E}:
    
       媒体状态  . . . . . . . . . . . . : 媒体已断开
       连接特定的 DNS 后缀 . . . . . . . :
    
    隧道适配器 isatap.{2B3C716B-2A34-478D-A21F-FE38734BC6BF}:
    
       媒体状态  . . . . . . . . . . . . : 媒体已断开
       连接特定的 DNS 后缀 . . . . . . . :
    
    C:Windowssystem32>

    对应的IP地址为192.168.253.1,所以安卓客户端访问的地址为

    安卓访问的界面

    同样是点击FiddlerRoot certificate,然后按提示导入证书,证书名字自己随便起一个

    别以为这样就完了接下来还要设置HTTP/HTTPS代理,虽然Fiddle说这个代理是HTTP代理,实际上并不准确,这个代理对不能代理的协议也实现了转发(个人觉得是直连),比如QQ和微信客户端就没有使用HTTP代理

    代理设置大同小异

    对于本机,127.0.0.1:8888 协议类型HTTP/HTTPS

    对于安卓客户端,192.168.253:8888 协议类型HTTP/HTTPS

    设置完成后抓几个HTTPS的报文

  • 相关阅读:
    安卓任意两个或多个Fragment之间的交互与刷新界面
    内存溢出和内存泄漏
    求直方图围成的最大矩形面积
    判断一个字符串是否是由另2个字符串交错组成的
    矩阵的旋转
    求滑动窗口的最大值
    面向过程和面向对象的区别
    关于丑数
    求连续子数组的最大和
    多数投票算法(Majority Vote Algorithm)
  • 原文地址:https://www.cnblogs.com/gsls200808/p/4507589.html
Copyright © 2011-2022 走看看