Fiddler指定了将其用作反向代理的两个选项.
选项1:
可以配置Fiddler,以便发送到http://127.0.0.1:8888的任何流量自动发送到同一台计算机上的其他端口.要设置此配置:
启动REGEDIT
在HKCU\SOFTWARE\Microsoft\Fiddler2中创建一个名为ReverseProxyForPort的新DWORD.
将DWORD设置为您要将入站流量重新路由到的本地端口(通常为标准HTTP服务器的端口80)
重启Fiddler
浏览器浏览器到http://127.0.0.1:8888
选项2:
或者,您可以编写执行相同操作的规则.
假设您在名为WEBSERVER的计算机的端口80上运行网站.您正在使用Windows SmartPhone设备上的Internet Explorer Mobile Edition连接到>网站,您无法为其配置Web代理.您想要捕获来自手机的流量和服务器的响应.
在WEBSERVER计算机上启动Fiddler,在默认端口8888上运行.
单击工具| Fiddler选项,并确保选中"允许远程客户端连接"复选框.如果需要重启.
选择规则| 自定义规则.
在OnBeforeRequest处理程序中,添加一行新代码:if(oSession.host.toLowerCase()=="webserver:8888")oSession.host ="webserver:80";
在SmartPhone上,导航到http:// webserver:8888
这两个选项都涉及在同一台机器上使用Fiddler,但如果Fiddler和Web服务器在两台不同的机器上运行会怎样?例如,假设某个用户查询example.com并解析为1.2.3.4.我是否可以在1.2.3.4上运行Fiddler,以便在每次查询example.com时将流量转发到1.2.3.5?假设我使用选项2来配置Fiddler,我会将'webserver'设置为example,example.com,www.example.com或example.com的IP地址(假设www.example.com是example.com的别名)?
我需要监视在远程Web服务器上运行的网站的http请求和响应.Web服务器进行大量Web服务调用并希望跟踪它们.
如果网站在本地运行,Fiddler会跟踪每个Web服务调用请求并向我提供报告.有人可以请帮助我如何做到这一点
*例如
如果Web应用程序在本地运行并调用两个Web服务,则fiddler将显示统计信息的总时间.但是,如果Web应用程序在托管在内部托管的不同Web服务器(Intranet)上的Web服务器上运行,并且我在我的计算机上运行fiddler,则不会获取每个Web服务调用的统计信息.我只能看到aspx页面的总时间.*
所以问题是如何(如果可能的话)我可以跟踪由在不同机器上运行的web应用程序调用的每个Web服务的统计信息,并且fiddler正在我的机器上运行.
谢谢.
每当我尝试从特定主机调试HTTPS流量(在我的Android手机上)时,我在fiddler检查器窗口中收到以下错误消息.
After the client received notice of the established CONNECT, it failed to send any data.
Run Code Online (Sandbox Code Playgroud)
你能告诉我,我做错了什么吗?我在我的三星galaxy s2上调试网络请求.在Web会话窗口中,我可以看到所有请求.在检查器窗口中,我得到这样的东西:
CONNECT example-site.com:443 HTTP/1.1
Host: example-site.com
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.0.4; GT-I9100 Build/IMM76L)
Connection: Keep-Alive
After the client received notice of the established CONNECT, it failed to send any data.
Run Code Online (Sandbox Code Playgroud)
响应如下:
HTTP/1.1 200 Connection Established
FiddlerGateway: Direct
StartTime: 12:39:43.452
Connection: close
Run Code Online (Sandbox Code Playgroud)
我成功为decrpyt https安装了fiddler根证书.同时从pc chrome浏览器中调整相同的Web流量也可以正常工作(我可以详细查看请求/响应SOAP/REST主体).pc到android的区别在哪里?
在一台计算机上启动了fiddler,启用了远程连接和HTTP.当尝试在远程计算机上打开IE浏览器(手动配置代理设置后)并尝试浏览到https://www.gmail.com时,我收到通常的警告.尝试"继续访问网站"时,我收到"证书错误:导航失败".
当Fiddler和浏览器在同一台机器上运行时,一切正常.
任何帮助,将不胜感激.
场景:我试图通过Fiddler代理请求调试Android应用程序.
我在Android设备上安装了FiddlerRoot证书,SSL解密适用于大多数请求,但对于其他请求,我只能看到HTTPS Connect,而Fiddler日志中没有其他内容.我认为可能是SSL上的图像请求无法解密.
我已经仔细检查了"隐藏图像"是否已关闭等.检索到的图像托管在另一个域上,而不是应用程序与之对话的主API.
什么可能导致这种行为?如何在Fiddler中显示图像请求?
我正在使用最新的Fiddler4.
我有一个Android(4.2)应用程序,它使用https与Web服务进行通信.我想调试/记录每个出去的https.我有fiddler和wireshark来调试它们,但一切看起来都是加密的.可以使用模拟器和fiddler/wireshark设置中间人攻击来解码和显示http url及其参数吗?
我已经将我的OWIN自托管Web Api 2应用程序配置为以https:// ...开头,并使用netsh将自签名SSL证书附加到我的应用程序.但是,从Fiddler,我仍然通过HTTPS频道看到明文.
OWIN需要特殊处理吗?
谢谢!
我正在尝试拦截使用HTTP代理(基本HTTP身份验证密码保护)访问其资源的Web应用程序.
在Fiddler选项中,有一个手动代理配置设置.但在该字段中,我只能定义代理地址和端口.我需要为上游代理定义用户名/密码组合.
有没有办法做到这一点?
我想用Fiddler检查http流量,但没有捕获任何http流量,我的测试代码:
private static void ByRestSharp()
{
var restClient = new RestClient("https://jsonplaceholder.typicode.com");
var request = new RestRequest("posts", Method.GET);
var response = restClient.Get<List<Post>>(request);
Console.WriteLine("{0} posts return by RestSharp.", response.Data.Count);
}
Run Code Online (Sandbox Code Playgroud)
但是在我改为使用HttpClient之后,Fiddler可以捕获http流量,示例代码:
private static void ByHttpClient()
{
var httpClient = new HttpClient();
using (var req = new HttpRequestMessage(HttpMethod.Get, "https://jsonplaceholder.typicode.com/posts"))
using (var resp = httpClient.SendAsync(req).Result)
{
var json = resp.Content.ReadAsStringAsync().Result;
var users = SimpleJson.SimpleJson.DeserializeObject<List<Post>>(json);
Console.WriteLine("{0} posts return by HttpClient.", users.Count);
}
}
Run Code Online (Sandbox Code Playgroud)
这是RestSharp还是Fiddler的问题?
我正在尝试设置Fiddler代理来捕获来自Xamarin应用程序的流量.我已完成以下步骤:
Fiddler能够从一些网站捕获流量,但对于我关心的URL,我只看到隧道CONNECT,但没有解密流量.

PS当这些步骤不起作用时,我也尝试过:
这没有用.
非常感谢任何帮助.