• 配置Fiddler


    想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档

    阅读目录:

    1、Fiddler入门

    2、配置web浏览器以使用Fiddler:

    3、配置Fiddler解密HTTPS流量:

    4、配置Windows客户端以信任Fiddler根证书:

    5、响应需要客户证书的请求:

    6、配置.NET应用程序:

    7、配置PHP/cURL应用程序以使用Fiddler:

    8、配置Java应用程序以使用Fiddler:

    9、配置WinHTTP应用程序以使用Fiddler:

    10、监控RAS、VPN或拨号链接:

    11、从另一台机器捕获流量(任何操作系统):

    12、链到上游代理:

    13、使用Fiddler作为反向代理:

    14、从不同的账号使用流量:

    15、为windows 8 Metro风格的应用程序配置Fiddler:

    16、配置Fiddler FOR MAC :

    17、从IOS捕获流量:

    18、为Android/Google Nexus 7配置Fiddler:

    19、监控Window Phone:

    20、监控PocketPC:

    21、配置Fiddler以对CBT保护的服务器进行身份验证:

    22、从IE或.NET监控到localhost的流量:

    23、绕过上游代理:

    24、从FireFOX浏览器中捕获HTTPS流量:

    25、故障排除:

    一、Fiddler入门

    1、安装Fiddler:

      一、下载Fiddler安装程序

      二、仅限网络流量捕获,请下载FiddlerCap

    2、运行Fiddler安装程序:

    同意协议:

    选择Fiddler安装路径:

    安装完成单击关闭:

    二、配置web浏览器以使用Fiddler:

    1、清除缓存:

    要确保发送和捕获所有请求,在开始捕获之前清除浏览器的缓存

    IE,Chrome,Safari和Opera

    火狐

    • 要从Firefox 4+捕获HTTP流量,请执行以下任一操作:

      • 单击工具>使用Fiddler监控>使用Fiddler自动配置FiddlerHook,或

      • 单击工具>选项>高级>网络>设置>使用系统代理设置

      使用系统代理设置

    • 从Firefox捕获HTTPS流量

    手动配置

    要手动配置任何浏览器以向Fiddler发送流量,请将浏览器设置为连接到代理服务器。此设置通常位于“ 选项”“首选项菜单中。使用这些设置:

    地址:127.0.0.1 端口:8888

    注意:如果浏览器使用这些设置,请在关闭Fiddler后还原这些设置,否则浏览器将不会加载页面。例如,Firefox将显示以下错误消息:

    Firefox代理错误

    要改为允许Fiddler自动启用和禁用代理,请使用Proxy Auto-configuration,其URL指向Documents / Fiddler2 / Scripts / BrowserPAC.js。

    例如,在Firefox中,单击工具>选项>高级>网络>设置,然后输入BrowserPAC.js的URL。

    自动代理配置URL

    要从Fiddler中找到正确的自动配置URL:

    1. 单击工具>提琴选项>连接
    2. 单击“ 复制浏览器代理配置URL”链接。

    复制自动更正URL

     三、配置Fiddler解密HTTPS流量:

    1、启用HTTPS流量解密:

      一、单击工具>提琴选项> HTTPS。

      二、单击Decrypt HTTPS Traffic框。

    提琴手选项 - 解密HTTPS流量

    2、跳过特定主机的流量解密:

      一、单击工具>提琴选项> HTTPS。

      二、在Skip Decryption中键入主机名。

    跳过解密

    3、跳过应用程序的流量解密

      在OnBeforeRequest函数*中添加这样的规则:

        if (oSession.HTTPMethodIs("CONNECT") && oSession["X-PROCESSINFO"] && oSession["X-PROCESSINFO"].StartsWith("outlook")) 
        { 
            oSession["x-no-decrypt"] = "boring process";
        }
    4、仅从一个主机名解密流量:
      在OnBeforeRequest函数*中添加这样的规则:
        if (oSession.HTTPMethodIs("CONNECT") && 
            !oSession.HostnameIs("SiteICareAbout.com"))
        { 
            oSession["x-no-decrypt"] = "do not care."; 
        }

    也可以看看

    使用客户端证书响应请求

     四、配置Windows客户端以信任Fiddler根证书:

    1. 启用HTTPS流量解密

    2. Trust the Fiddler Root证书旁边,单击

    之后是否要安装此证书?,单击

     五、响应需要客户证书的请求:

    要指定Fiddler的.CER文件为给定会话返回,请添加此FiddlerScript *:

        oSession["https-Client-Certificate"] = "C:\test\someCert.cer";

    若要为Fiddler指定.CER文件,否则请将.CER文件放入:

        %USERPROFILE%My DocumentsFiddler2ClientCertificate.cer

    要生成.CER文件:

    1. 在当前用户的个人证书存储中安装证书

    2. 右键单击“ 个人证书存储”中的证书

    3. 单击所有任务>导出...

    六、配置.NET应用程序:

    要允许.NET Framework自动连接到Fiddler,请在启动.NET应用程序之前启动Fiddler。

    要临时将.NET应用程序连接到Fiddler,请使用GlobalProxySelection类来设置代理:

    GlobalProxySelection.Select = new WebProxy(“127.0.0.1”,8888);

    或者,在yourappname.exe.config文件中指定代理

    • 如果.NET应用程序在您当前的用户帐户中运行,请在配置部分中添加以下内容:

      <configuration>
       <system.net>
        <defaultProxy>
         <proxy bypassonlocal="false" usesystemdefault="true" />
        </defaultProxy>
       </system.net>
      </configuration>

    有关此主题的更多信息,请参阅MSDN

    • 如果.NET应用程序在其他用户帐户(例如,Windows服务)中运行,请编辑machine.config文件:

      <!-- The following section is to force use of Fiddler for all applications, including those running in service accounts -->  <system.net>
       <defaultProxy>
        <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
       </defaultProxy>
      </system.net>

    或者,在单个WebRequest对象上手动指定代理:

        objRequest = (HttpWebRequest)WebRequest.Create(url);
        objRequest.Proxy= new WebProxy("127.0.0.1", 8888);

    注意:重要说明:无论其他设置如何,.NET始终会绕过包含localhost的URL的Fiddler代理。因此,不要使用localhost,而是更改代码以引用计算机名称。例如:

    • 此URL不会出现在Fiddler中:

      HTTP://localhost/X509SignCodeService/X509SigningService.asmx

    • 此URL将显示在Fiddler中:

      HTTP://mymachine/X509SignCodeService/X509SigningService.asmx

    七、配置PHP/cURL应用程序以使用Fiddler:

    要配置PHP / cURL应用程序以将Web流量发送到Fiddler,请在应用程序发送请求之前添加以下代码行,其中$ ch是curl_init()返回的句柄:

        curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');

    或者,从命令行输入以下命令:

        curl --proxy 127.0.0.1:8888


    八、配置Java应用程序以使用Fiddler:

    要配置Java应用程序以向Fiddler发送Web流量,请使用jre设置代理

        jre -DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888

    要么:

        jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp

    或者,以编程方式更改Java虚拟机的代理设置:

        System.setProperty("http.proxyHost", "127.0.0.1");
        System.setProperty("https.proxyHost", "127.0.0.1");
        System.setProperty("http.proxyPort", "8888");
        System.setProperty("https.proxyPort", "8888");
    详细了解Java代理设置。


    九、配置WinHTTP应用程序以使用Fiddler:

    要配置WinHTTP应用程序以将Web流量发送到Fiddler,请从命令行输入以下命令:

    Windows Vista或更高版本(需要Elevated / Admin命令提示符):

        netsh winhttp set proxy 127.0.0.1:8888

    在Windows 7或更早版本中,在32位NETSH中运行上述命令以配置32位WinHTTP主机,并在64位NETSH中运行该命令以配置64位WinHTTP主机。

    Windows XP或更低版本

        proxycfg -p http=127.0.0.1:8888;https=127.0.0.1:8888

    或者:(强制WinHTTP使用WinINET的代理设置)

    十、监控RAS、VPN或拨号链接:

    要监控拨号或VPN连接,请打开“ 工具” - >“提琴选项...”,然后单击“ 监控所有连接”

    监控所有连接

    或者,在浏览器中设置“使用自动配置脚本”选项

    要监视始终处于活动状态的VPN或拨号连接(而不是LAN连接),请将HookConnectionNamed注册表值设置为Internet选项中的连接名称

    连接名称

    注意:IE将始终使用来自任何活动VPN连接的代理设置,无论该VPN是否连接到Internet。

    十一、从另一台机器捕获流量(任何操作系统):

    设置远程计算机代理设置:

    1. 在Fiddler服务器(将捕获流量的机器)上启动Fiddler。

    2. 单击工具>提琴选项确保选中允许远程客户端连接

      允许远程客户端连接

    3. 在另一台计算机上,将代理设置设置为端口8888处Fiddler服务器的计算机名称。

      设置代理地址

    从远程计算机解密HTTPS流量

    配置远程计算机以信任FiddlerRoot证书

    十二、链到上游代理:

    配置Fiddler以在Fiddler和目标服务器之间发送和接收来自另一个代理的Web流量:

    1. 关闭提琴手。

    2. 打开Internet Explorer > 选项 > Internet选项 > 连接 > 局域网设置

    3. 单击“ 为LAN使用代理服务器 ”复选框

      设置代理地址

    4. 输入上游代理的地址和端口号。

    5. 重启Fiddler。

    您现在应该看到Fiddler About对话框中列出的上游代理

    十三、使用Fiddler作为反向代理:

      一、为了使用该方法,来重新路由该请求的主机名必须 127.0.0.1:8888本地主机:8888[:: 1]:8888,或在端口机器的主机名NETBIOS 8888

    1. 单击工具>提琴选项确保选中允许远程客户端连接

      允许远程客户端连接

    2. 关闭提琴手。

    3. 启动REGEDIT

    4. HKEY_CURRENT_USER SOFTWARE Microsoft Fiddler2中创建一个名为ReverseProxyForPort的新DWORD 

    5. 将DWORD设置为Fiddler将重新路由入站流量的本地端口(通常为标准HTTP服务器的端口80)。

    6. 重启Fiddler。

    7. 在浏览器中,转到http://127.0.0.1:8888

      二、写一个FiddlerScript规则

    1. 单击工具>提琴选项确保选中允许远程客户端连接

      允许远程客户端连接

    2. 单击工具> Fiddler选项,并确保选中“允许远程客户端连接”复选框。

    3. 如果出现提示,请重启Fiddler。

    4. 单击规则>自定义规则

    5. 在OnBeforeRequest处理程序*中,添加一行新代码:

      if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";
    6. 使用客户端计算机上的浏览器,转到http:// webserver:8888。

      三、配置Fiddler以侦听客户端应用程序目标端口:

    1. 重新配置目标服务器以侦听其他端口。例如,如果Web服务器在端口80上运行,请将其重新配置为在端口81上运行。

    2. 点击工具>选项提琴手...

    3. 单击连接

    4. 键入Fiddler旁边的客户端目标端口号侦听端口:

      提琴手听口

    5. 将Fiddler配置为反向代理或编写FiddlerScript规则以将流量重新路由到目标服务器的新端口(如上所述)。

    十四、从不同的账号使用流量:

    要从当前用户以外的帐户(例如,IIS上的ASP.NET或Windows服务)捕获流量,请将该进程配置为使用Fiddler代理。

    例如

    配置.NET应用程序

    配置WinHTTP应用程序

    十五、为windows 8 Metro风格的应用程序配置Fiddler:

    按照以下两个步骤配置Windows 8的Fiddler:

    • 创建环回免除
    • 将Fiddler根证书放在计算机的受信任的根存储中

    创建回环免除:

    1. (仅限Fiddler2 :) 单击Win8配置按钮安装并启动EnableLoopback Utility

      Win8配置按钮

    2. 选中将向Fiddler发送流量的每个应用程序旁边的框。这需要管理员权限。

      AppContainer Loopback免除工具

    现在这些应用程序可以向Fiddler发送流量。

    • 要允许Visual Studio 2012中的单元测试向Fiddler发送流量,请在单元测试运行时单击AppContainer Loopback Exemption Utility刷新按钮。将出现用于单元测试的AppContainer。选中此AppContainer的复选框。了解更多

    • 使用AppContainer Loopback Exemption Utility的另一种方法是声明privateNetworkClientServer权限

    将Fiddler根证书放在计算机的受信任根存储中:

    1. 启用Fiddler HTTPS解密功能。一个警告对话框。单击是以信任Fiddler根证书。

      警告对话框

    2. 出现“安全警告”对话框。单击是以安装Fiddler Root证书。

      安全警告

    3. 出现“用户帐户控制”对话框。单击是以将Fiddler根证书放入计算机范围的受信任的根证书颁发机构存储中。

      用户帐户控制对话框

    4. 出现TrustCert Confirmation对话框。单击

      TrustCert确认

    十六、配置Fiddler FOR MAC :

    虚拟化产品(如VMWare Fusion或Parallels Desktop)允许Fiddler在Mac上的虚拟机中运行。

    配置虚拟机:

    1. 安装Parallels。

    2. 将Windows虚拟机硬件>网络1类型设置桥接网络模式。

    3. 重新启动虚拟机。

    配置Fiddler:

    1. 在虚拟机上安装Fiddler。

    2. 打开提琴手。

    3. 单击工具>提琴选项>连接

    4. 单击允许远程计算机连接的复选框

      允许远程计算机连接

    5. 重启Fiddler。

    6. 确保您的防火墙允许传入Fiddler进程的连接。

    配置MAC:

    1. 将鼠标悬停在Fiddler工具栏最右侧在线指示器上,以显示分配给虚拟机的IP地址。

      在线工具提示

    2. 单击Apple菜单

    3. 单击系统首选项

    4. 单击“ 网络”图标。

    5. 单击“ 高级”按钮。

    6. 单击“ 代理”选项卡。

    7. 启用Web代理(HTTP)和安全Web代理(HTTPS)选项以使用端口8888指向虚拟机的IPv4地址。

    使用后禁用:

    使用Fiddler后,返回OSX系统偏好设置并禁用代理设置

    十七、从IOS捕获流量:

    配置Fiddler:

    1. 单击工具>提琴选项>连接

    2. 单击允许远程计算机连接的复选框

      允许远程计算机连接

    3. 重启Fiddler。

    4. 确保您的防火墙允许传入Fiddler进程的连接。

    5. 将鼠标悬停在Fiddler工具栏最右侧在线指示器上,以显示分配给Fiddler机器的IP地址。

      在线工具提示

    6. 通过在浏览器中导航到http:// FiddlerMachineIP:8888,验证客户端iOS设备是否可以访问Fiddler 该地址应返回Fiddler Echo Service页面。

    7. 对于iPhone:禁用3g / 4g连接。

    设置IOS设备代理:

    1. 点按设置>常规>网络> Wi-Fi

    2. 点按Wi-Fi网络的设置。

    3. 点击HTTP代理部分中手动选项

    4. 在“ 服务器”框中,键入Fiddler实例的IP地址或主机名。

    5. 在“ 端口”框中,键入Fiddler正在侦听的端口(通常为8888)。

    6. 确保“身份验证”滑块设置为“ 关”

      iOS代理设置

    从IOS设备解密HTTPS流量:

    1. 下载Fiddler Certificate Maker插件

    2. 安装证书制作器插件。

    3. 重启Fiddler。

    4. 配置安装Fiddler的设备以信任Fiddler根证书

    5. 在iOS设备上,在浏览器中转到http://ipv4.fiddler:8888 /

    6. Fiddler Echo服务网页的底部,下载FiddlerRoot证书。

      下载FiddlerRoot证书

    7. 打开FiddlerRoot.cer文件。

    8. 点按“ 安装”按钮。

      安装配置文件

    9. 再次点击“ 安装”按钮。

      警告

    在iOS 10及更高版本上,安装FiddlerRoot证书后,转到设置 - > 常规 - > 关于 - > 证书信任设置,并手动启用FiddlerRoot根证书的完全信任。接受对话框,说明这将允许第三方窃听您的所有通信。

    卸载FiddlerRoot证书:

    如果您决定卸载根证书:

    1. 点按“ 设置”应用。

    2. 点击常规

    3. 滚动到个人资料

    4. 点击DO_NOT_TRUST_FiddlerRoot *个人资料。

    5. 点击删除

    十八、为Android/Google Nexus 7配置Fiddler:

    配置Fiddler:

    1. 单击工具>提琴选项>连接

    2. 确保选中允许远程计算机连接的复选框。

    3. 如果选中此框,请重新启动Fiddler。

    4. 将鼠标悬停在Fiddler工具栏最右侧在线指示器上,以显示Fiddler服务器的IP地址。

      在线工具提示

    配置Nexus设备:

    1. 从屏幕顶部向下滑动,然后点按“设置”图标。

    2. 点按Wi-Fi

    3. 点按并按住您当前的Wi-Fi网络。选择修改网络

      修改网络

    4. 点按“ 显示高级选项”框。

      显示高级选项

    5. 点击代理设置下拉列表,然后选择手动

      代理设置

    6. 输入Fiddler服务器的IP地址和端口(通常为8888)。

      IP地址

    7. 点按保存

    要验证此配置,请转至http://ipv4.fiddler:8888 /Chrome应显示Fiddler Echo服务网页,流量应显示在Fiddler中。

    禁用代理:

    使用Fiddler后,返回上面的“ 代理设置”屏幕并删除代理。

    解密HTTPS:

    1. Fiddler Echo Service网页上,单击FiddlerRoot Certificate链接。

      下载FiddlerRoot证书

    2. 如果下载未自动打开,请从顶部向下滑动,然后点按“设置”图标。

    3. 点击个人>安全。

    4. 在“ 凭据存储”下,点击“ 从存储中安装”

      从存储安装

    5. 点击FiddlerRoot.cer文件。

    6. (可选)键入证书的名称。

    要验证此配置,请点击“ 受信任的凭据”>“用户”这应该显示Fiddler证书。

    禁用HTTPS解密:

    要删除FiddlerRoot证书,请点击“ 受信任的凭据”>“用户”并删除证书。

    十九、监控Window Phone:

    配置Fiddler:

    1. 在Fiddler服务器(将捕获流量的机器)上启动Fiddler。

    2. 单击工具>提琴选项单击“ 允许远程客户端连接”

      允许远程客户端连接

    3. 重启Fiddler。

    4. 在“Windows安全警报”对话框中,选中所有三个复选框,然后单击“ 允许访问”按钮。

      Windows安全警报

    要验证此配置,请启用Windows Phone WiFi连接并访问http:// FIDDLERSERVER:8888,其中FIDDLERSERVER是运行Fiddler的计算机的计算机名称。这应该显示Fiddler Echo服务网站。

    配置Windows Phone:

    1. 点按设置> WiFi

      设置

    2. 点按有效的WiFi连接。

      无线上网

    3. 代理滑块滑动

    4. 在“ 服务器/ URL”字段中,键入Fiddler服务器的计算机名称。

    5. 在“ 端口”字段中,键入8888

      EditNetwork.png

    6. 点击复选标记图标。

    解密HTTPS流量:

    1. 配置Fiddler以解密HTTPS流量

    2. 在Windows Phone上,使用Mobile IE请求HTTPS协议URL。

    3. 转到http:// FIDDLERSERVER:8888 / FiddlerRoot.cer

    4. 点击标记为Tap的图标以打开文件fiddlerroot.cer

      打开证书

    5. 点按安装

      安装证书

    注意:没有已知资源包含从Windows Phone中删除安全证书的步骤。这可能会阻止连接到不同的Fiddler代理,后者将使用不同的安全证书。

    禁用监控:

    Fiddler监控完成后:

    1. 点按设置> WiFi

    2. 点按有效的WiFi连接。

    3. 代理滑块滑动关闭状态

    也可以看看

    没有Windows Phone 7流量

    二十、监控PocketPC:

    配置Fiddler:

    1. 在Fiddler服务器(安装Fiddler的计算机)上,在Windows防火墙中打开端口8888

    2. 打开ActiveSync的>连接设置...

    3. 此计算机下连接到:,单击工作网络

    4. 开始提琴手。

    5. 点击工具>选项提琴手...

    6. 确保选中“允许远程客户端连接”。

    7. 如果您需要单击该复选框,请重新启动Fiddler。

    配置PocketPC:

    1. 在PocketPC上,将HTTP代理设置为FIDDLERSERVER:8888,其中FIDDLERSERVER是安装了Fiddler的计算机的计算机名称。

    2. 将PocketPC连接到ActiveSync。

    二十一、配置Fiddler以对CBT保护的服务器进行身份验证:

    1. 单击规则>自定义规则

    2. 滚动到OnPeekAtResponseHeaders函数。

    3. 添加以下代码:

      static function OnPeekAtResponseHeaders(oSession: Session) 
      {         
          // To avoid problems with Channel-Binding-Tokens, this block allows Fiddler 
          // itself to respond to Authentication challenges from HTTPS Intranet sites. 
          if (oSession.isHTTPS && 
              (oSession.responseCode == 401) && 
              // Only permit auto-auth for local apps (e.g. not devices or remote PCs) 
              (oSession.LocalProcessID > 0) && 
              // Only permit auth to sites we trust 
              (Utilities.isPlainHostName(oSession.hostname) 
            // Replace telerik.com with whatever servers Fiddler should release credentials to.
              || oSession.host.EndsWith("telerik.com"))  
              ) 
          { 
              // To use creds other than your Windows login credentials, 
              // set X-AutoAuth to "domain\username:password" 
              // Replace default with specific credentials in this format:
            // domain\username:password. 
              oSession["X-AutoAuth"] = "(default)";    
              oSession["ui-backcolor"] = "pink"; 
          } 
      
      //... function continues
      • 将“telerik.com”替换为Fiddler应该向其发布凭据的任何服务器。默认情况下,Fiddler将向任何Intranet站点(主机名中没有点的站点)发布凭据。

      • 将“default”替换为此格式的特定凭据:

        域用户名:密码

      • 如果指定“(默认)”,Fiddler将尝试使用其运行的任何用户帐户的登录凭据。

    二十二、从IE或.NET监控到localhost的流量:

    要监控从IE8或更低版本或.NET Framework 发送到http:// localhosthttp://127.0.0.1的流量

    • 使用您的计算机名称作为主机名而不是Localhost127.0.0.1

      例如,而不是

        http://localhost:8081/mytestpage.aspx

      去:

        http://machinename:8081/mytestpage.aspx
    • 使用以下地址之一:

      - 使用IPv4适配器(推荐用于Visual Studio测试网络服务器,代号:Cassini):

        http://ipv4.fiddler

      - 要使用IPv6适配器:

        http://ipv6.fiddler

      - 在Host标头中使用localhost:

        http://localhost.fiddler
    • 单击规则>自定义规则...并将此代码添加到规则文件中:

      static function OnBeforeRequest(oSession:Fiddler.Session){
      if (oSession.HostnameIs("MYAPP")) { oSession.host = "127.0.0.1:8081"; }
      }

      现在,http:// myapp将充当127.0.0.1:8081的别名

    二十三、绕过上游代理:

    要绕过上游代理以获取对特定域的所有请求(例如,模拟IE代理绕过列表),请将一条规则添加到Fiddler,以便OnBeforeRequest函数,如下所示:    if (oSession.HostnameIs("www.example.com")){

        oSession.bypassGateway = true;
        }


    二十四、从FireFOX浏览器中捕获HTTPS流量:
    配置Fiddler:
    1. 单击工具>提琴选项

    2. 单击HTTPS选项卡。确保选中Decrypt HTTPS traffic复选框。

    3. 单击“ 将提琴手根证书导出到桌面”按钮。

      将根证书导出到桌面

    配置FireFox:

    • 如果FiddlerHook启用,在Firefox中点击工具>监控与小提琴手>信托FiddlerRoot证书......

    FiddlerHook菜单选项

    • 或者,手动导入证书:

      1. 单击工具>选项...>高级>加密>查看证书>授权>导入

        进口证书

      2. 从桌面选择FiddlerRoot.cer文件。

      3. 单击“ 信任此CA”旁边的复选框以标识网站。

      信任此CA以识别网站

    二十五、故障排除:

    1、问题:不受信任的证书警告:

    使用Fiddler时,浏览器可能会显示不受信任的证书警告,例如Internet Explorer 此网站的安全证书存在问题。或Chrome的网站的安全证书不受信任!

    解:

    配置Windows客户端以信任Fiddler根证书

    2、问题:无法配置客户端以使用代理服务器:

    客户端设备,应用程序或平台无法使用像Fiddler这样的代理服务器。这样可以防止从应用程序中捕获Web流量。

    解:

    将Fiddler配置为反向代理

    3、问题:重复401错误和Windows安全提示:

    连接到受通道绑定令牌(CBT)保护的服务器时,服务器返回一系列401错误,浏览器会不断提示输入凭据。

    解:

    配置Fiddler以对受CBT保护的服务器进行身份验证

    4、问题:IIS Express 出现意外的400错误请求错误:

    从IIS Express实例请求http://ipv4.fiddler:2468时,服务器返回以下意外错误消息:

        HTTP/1.1 400 Bad Request
        Content-Type: text/html;charset=us-ascii
        Server: Microsoft-HTTPAPI/2.0
        Date: Wed, 22 Aug 2012 19:59:52 GMT
        Connection: close
        Content-Length: 334
    
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""https://www.w3.org/TR/html4/strict.dtd">
        <HTML><HEAD><TITLE>Bad Request</TITLE>
        <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
        <BODY><h2>Bad Request - Invalid Hostname</h2>
        <hr><p>HTTP Error 400. The request hostname is invalid.</p></BODY></HTML>

    解:

    http://localhost.fiddler:2468替换http://ipv.fiddler :2468

    5、问题:Windows Phone不与Fiddler交换网络流量:

    配置Windows Phone以将Fiddler用作代理后,来自Windows Phone设备的请求不会返回资源或显示在Fiddler会话列表中。

    解决方案:创建IPSEC边界值技术机异常:

    如果Fiddler服务器(运行Fiddler的计算机)位于启用了IPSEC的网络上,请创建IPSEC边界计算机例外。联系网络管理员以创建此例外。

    6、问题:使用WinHTTP的office客户端在运行Fiddler时无法正确进行身边验证:

    解决方案1:

    配置Fiddler以对服务器进行身份验证

    解决方案2:

    使用REGEDIT 更改AuthFowardServerList

    7、问题:在Fiddler运行的本地计算机上运行的网站拒绝凭据

    解决方案1:

    配置Fiddler以对服务器进行身份验证

    解决方案2:

    创建可在NTLM身份验证请求中引用的本地安全机构主机名

    解决方案3:

    禁用身份验证环回检查

    8、已启用解密的HTTPS链接超时:

    问题:当Fiddler配置为解密HTTPS流量时,客户端应用程序无法访问HTTPS站点。

    在Windows Vista或更高版本上会出现此问题。

    解决方案1:自定义Fiddler规则以强制进行SSLv3握手

    1. 单击规则>自定义规则

    2. 将此代码添加到OnBeforeRequest方法(其中“HTTPSsite.com”是目标服务器的主机名):

      if (oSession.HTTPMethodIs("CONNECT") && oSession.HostnameIs("HTTPSSite.com")) 
      { 
        oSession["x-OverrideSslProtocols"] = "ssl3"; 
        FiddlerApplication.Log.LogString("Legacy compat applied for inbound request to HTTPSSite.com"); 
      }

    解决方案2:修改.NET应用程序以强制进行SSLv3握手

    在.NET应用程序中使用此代码:

        ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

    也可以看看

    “你如何让System.Web.HttpWebRequest对象使用SSL 2.0?” 在stackoverflow.com

    9、问题:Fiddler使用MS防火墙随即分离ISA 2004:

    Microsoft ISA 2004的Microsoft防火墙客户端可以选择自动重新配置Internet Explorer设置。不幸的是,此设置将导致Internet Explorer随机时间与Fiddler分离。

    解决方案:在Microsoft防火墙客户端中禁用Web浏览器自动配置

    • 如果防火墙客户端 系统托盘中有防火墙客户端图标

      1. 右键单击系统托盘中的“防火墙客户端”图标。
      2. 单击上下文菜单中的配置....
    • 如果系统托盘中没有防火墙客户端图标:

      1. 打开“ 开始”菜单
      2. 在“开始”菜单搜索框中键入“防火墙”。
      3. 点击防火墙客户端管理图标

    在“Web浏览器”选项卡上,取消选中“ 启用Web浏览器自动配置”复选框。

    10、问题:没有使用ProxySettingsPerUser=0组测试设置捕获流量:

    您的系统或域管理员已将组策略设置ProxySettingsPerUser设置0这意味着,而不是默认的Windows行为(每个用户都有自己的代理设置),而是所有用户帐户共享一组代理设置。在这种情况下,内部存在一个名为ProxySettingsPerUser的值:

        HKLMSOFTWAREPoliciesMicrosoftWindowsCurrentVersionInternet Settings 

    解决方案:以管理员身份运行Fiddler

    此机器范围的代理设置只能通过作为管理员运行的代码进行更改,因此必须启动Fiddler Elevated

    1. 右键单击“开始”菜单中Fiddler图标。
    2. 选择以管理员身份运行

    这将调整代理设置。

    如果您无法以管理员身份运行Fiddler(例如,因为您不是管理员),则需要请求您的系统或域管理员禁用此策略:

        HKLMSOFTWAREPoliciesMicrosoftWindowsCurrentVersionInternet SettingsProxySettingsPerUser is 0.

    此策略设置不会影响未配置为使用系统代理设置的客户端(例如,具有手动代理配置的Firefox)。

    11、问题:没有使用ProxySettingsPerUser=0组策略设置捕获流量:

    您的系统或域管理员已将组策略设置ProxySettingsPerUser设置0这意味着,而不是默认的Windows行为(每个用户都有自己的代理设置),而是所有用户帐户共享一组代理设置。在这种情况下,内部存在一个名为ProxySettingsPerUser的值:

        HKLMSOFTWAREPoliciesMicrosoftWindowsCurrentVersionInternet Settings 

    解决方案:以管理员身份运行Fiddler

    此机器范围的代理设置只能通过作为管理员运行的代码进行更改,因此必须启动Fiddler Elevated

    1. 右键单击“开始”菜单中Fiddler图标。
    2. 选择以管理员身份运行

    这将调整代理设置。

    如果您无法以管理员身份运行Fiddler(例如,因为您不是管理员),则需要请求您的系统或域管理员禁用此策略:

        HKLMSOFTWAREPoliciesMicrosoftWindowsCurrentVersionInternet SettingsProxySettingsPerUser is 0.

    此策略设置不会影响未配置为使用系统代理设置的客户端(例如,具有手动代理配置的Firefox)。

  • 相关阅读:
    mac系统终端的color scheme配置和vim配置
    用子网掩码划分子网
    堆排序
    面试遇到两个稍显变态的题目,mark一下
    移动端适配的问题
    移动端click事件延时
    行内元素之间间距的产生与去除
    JS怎么判断一个对象是否为空
    Java面向对象基础
    Java中的final关键字
  • 原文地址:https://www.cnblogs.com/gufengchen/p/10980245.html
Copyright © 2020-2023  润新知