网页抓取解密(开启HTTPS流量解密功能后,Fiddler将会提示用户将)

优采云 发布时间: 2022-03-26 09:03

  网页抓取解密(开启HTTPS流量解密功能后,Fiddler将会提示用户将)

  TLS 是一种端到端的传输层加密协议,是 HTTPS 协议的组成部分。访问HTTPS站点时,浏览器和服务器之间通过TLS协议对HTTP请求和响应进行加密传输,通过数字证书技术保证数据的机密性和完整性;任何“中间人”,包括代理服务器,都只能转发数据,不能*敏*感*词*或篡改数据。

  要获取 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 流量解密功能 将 DO_NOT_TRUST_FiddlerRoot 证书导入“机器账户”的可信 CA 列表中 设置 PHP 脚本的代理服务器为 127.0.0.1: 8888,以及抓包HTTPS请求主网开发框架的抓包配置

  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);

  如果你使用的是linux服务器,请在Windows电脑上安装Fiddler,在Tools - Fiddler Options - Connections中勾选Allow remote computer to connect,手动将FiddlerRoot.cer导入linux服务器的可信CA列表,最后添加代理server 设置为Fiddler所在IP的8888端

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线