配置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 Documents\Fiddler2\ClientCertificate.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的值:

    HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ 

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

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

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

这将调整代理设置。

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

    HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ProxySettingsPerUser is 0.

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

 

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

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

    HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ 

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

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

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

这将调整代理设置。

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

    HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ProxySettingsPerUser is 0.

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

 

posted on 2019-06-05 16:15  古风尘  阅读(3186)  评论(0编辑  收藏  举报

导航