Fiddler 和 Charles 二次代理进行抓包(上)

发表于:2023-11-27 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:serendipity    来源:网络

  一、Fiddler
  1.1 Fiddler抓取HTTPS设置
  1.1.1 配置证书
  Tools菜单 —> Options —> HTTPS —> 勾选Decrypt HTTPS traffic选项。
  说明:
  勾选Decrypt HTTPS traffic选项,Decrypt HTTPS traffic意思是解密HTTPS流量(请求)。
  然后会弹出一个对话框,如下图:
  意思是:为了能够拦截HITTPS通信,Fiddler生成了唯一的根证书。您可以将Windows配置为信任此根证书,以禁止显示安全警告。单击 “是” 以重新配置Windows的受信任CA列表。
  然后接着弹出对话框如下:点击 是 ,确认安装此证书。
  是否确认将证书添加到计算机根目录列表?点击 是 。
  最后提示:成功将Fiddler的根证书添加到计算机根列表中。
  1.1.2 勾选设置
  当勾选Decrypt HTTPS traffic选项的时候,会提示你安装证书,安装好证书之后,HTTPS选项界面如下:
  继续 勾选Ignore server certificate errors (unsafe) 选项:忽略服务器证书错误(不安全)。
  之后点击OK就可以抓取HTTPS的请求了。
  1.2 HTTPS选项界面说明

Fiddler Classic can decrypt HITTPS sessions by re-signing traffic using self-generated certificates. Fiddler可以使用自行生成的证书对流量进行重新签名,从而对HITTPS会话进行解密。 
Capture HTTPS CONNECTs 建立HTTPS连接通信。(这个就是我们之前常看到有tunnel to...443请求的原因,他是HTTPS建立通信时候所发出的请求。我们使用Rules菜单 —> Hide CONNECTs操作,把这些请求隐藏了。) 
Decrypt HTTPS traffic 解密HTTPS请求。 
  ·下拉列表
  ·Actions
  1.4 二次代理原理
  1.4.1 代理过程(大概是这样)
  1. 客户端发送请求:客户端发起网络请求。
  2. 请求到达 Fiddler:客户端的代理设置已将 Fiddler 设置为代理服务器,请求被发送到 Fiddler。
  3. Fiddler 接收请求:Fiddler 接收到客户端的请求。
  4. 请求发送给上游代理:根据你在 Fiddler 中设置的上游代理(Clash),Fiddler 将请求转发给 Clash 上游代理。
  5. Clash 上游代理处理请求:Clash 上游代理接收到来自 Fiddler 的请求,按照其配置和规则进行处理,并将请求发送给实际的目标服务器。
  6. 请求发送给目标服务器:Clash 上游代理将请求转发给实际的目标服务器。
  7. 目标服务器处理请求:目标服务器接收到请求,并根据请求内容进行处理。
  8. 响应返回给 Clash 上游代理:目标服务器生成响应,并将其发送回 Clash 上游代理。
  9. Clash 上游代理发送响应给 Fiddler:Clash 上游代理将响应发送给 Fiddler。
  10. Fiddler 接收响应:Fiddler 接收到来自 Clash 上游代理的响应。
  11. 响应发送给客户端:Fiddler 将响应发送回客户端,作为原始请求的响应。
  1.4.2 Gateway设置
  在fiddler设置好捕获HTTP和HTTPS之后,再配置网管设置。
  Gateway子菜单提供了用于配置 Fiddler Classic 高效访问网络方式的选项。
  默认情况下,Fiddler Everywhere“链接”到系统的默认代理。网关设置允许您覆盖该行为。
  1.(推荐)使用系统代理 --默认选择。Fiddler 使用 OS 系统代理。一些浏览器和许多应用程序默认使用系统代理,并在它发生变化时收到通知。
  2. 手动代理配置 -指定上游代理字符串(第一个文本框)和代理旁路列表(第二个文本框)。
  代理字符串— 要手动设置网关代理,请输入代理字符串。要直接输入代理配置字符串,请使用以下行。
  proxyserver:8080
  要以特定于协议的形式输入代理,请使用以下行。
  http=httpproxy:8080;https=httpsproxy:8080
  绕过列表——代理绕过列表支持以下值:
  ·通配符。例如,*.``extranet.example.com``;。
  · 特殊<local>标记,表示不包含句点的任何主机名。
  · 特殊令牌,它删除了主机名和主机名<-loopback>的默认绕过。以下示例演示如何列出以分号 ( ) 分隔的多个旁路条目。127.0.0.1``localhost``;
  *.extranet.example.com;<local><-loopback>
  3. 无代理 - 将所有流量直接发送到根服务器。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号