我在使用 Fiddler 时遇到了问题 - 昨天它工作正常,我没有故意更改任何选项。我已在 Windows 7 盒子上卸载并重新安装版本 4.4.4.8。
当我尝试开始捕获时,Fiddler 窗口顶部附近会出现一个黄色横幅,声称:“系统代理已更改。单击以重新启用 Fiddler 捕获”。我单击横幅,它重新显示相同的消息。
我确信我做了一些愚蠢的事情,但我不知道那是什么。谢谢!
[问题“已解决”。重新启动机器。仍然不明白原来的问题,但我现在可以继续。注销/登录并没有解决问题。Ar.]
几天前,Fiddler 中开始出现黄色横幅,报告我的代理设置已更改,如果我单击黄色横幅,我可以重新启用 Fiddler 流量捕获。
单击后,横幅和错误消息不会消失,并且 Fiddler 已停止捕获所有流量。
我在网上搜索并找到了如何将代理设置更改回 127.0.0.1 和端口 8888。
然而,当我这样做时,某些东西不断将端口号设置回 63758。
我在 Windows 7 Home Premium PC 上使用的 Fiddler 版本是 v2.4.9.9。
请参阅附图。我应该怎么办?

环境:MAC进程
我研究了使用 MonoTouch、HttpClient 和 Charles Proxy 时的 HTTP 流量监控问题。
虽然我的问题与之类似,但我的应用程序正在使用RestTemplate http://docs.spring.io/autorepo/docs/spring-android/1.0.x/reference/html/rest-template.html。每当请求通过网络浏览器(具体来说是 Safari 和 Chrome)时,我都能够捕获 HTTP 和 HTTPS 流量,而当我通过我的应用程序(基本上使用 RestTemplate)发出休息请求时,Charles 代理不会捕获它们。
从上述问题的答案来看,应该是与RestTempate上的代理设置有关。但我是一名 .NET 开发人员,对 fiddler 非常熟悉 - 但最近转向 Java,对 Charles 还很陌生 - 因此,如果您能让我知道具体细节,或者您对配置 REST 模板以使用我的 macOS 代理的想法,那就太好了。 ..
基本上问题是如何配置我的休息模板(客户端),以便 charles Web 代理能够通过我的应用程序(客户端)捕获请求和响应。
其余模板由扩展 __https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/ SimpleClientHttpRequestFactory .html 的自定义请求工厂实例化。
看起来我需要做类似的事情(参考:http://docs.spring.io/spring-integration/reference/html/http.html#http-proxy)
<bean id="requestFactory"
class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="proxy">
<bean id="proxy" class="java.net.Proxy">
<constructor-arg>
<util:constant static-field="java.net.Proxy.Type.HTTP"/>
</constructor-arg>
<constructor-arg>
<bean class="java.net.InetSocketAddress">
<constructor-arg value="123.0.0.1"/>
<constructor-arg value="8080"/>
</bean>
</constructor-arg>
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud) 我的代码是一项进行外部休息/肥皂调用的服务。我希望能够在 Fiddler 等网络监控工具中看到这些调用。
我使用的技术是:
IDE - Intellij
Framework - Spring Boot
Build - Maven
Jdk - 1.8.0_151
大多数在线文章告诉我将配置中的虚拟机选项设置为
-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=8888
-Dhttp.proxySet=true
Run Code Online (Sandbox Code Playgroud)
我也尝试过这种变化
-DproxySet=true
-DproxyHost=127.0.0.1
-DproxyPort=8888
Run Code Online (Sandbox Code Playgroud)
我已在配置的虚拟机选项中添加了上述内容,并且还在“
帮助”->“自定义虚拟机选项”下添加了虚拟机选项
我尝试在
文件 -> 外观和行为 -> 系统设置 -> HTTP 代理下修改 Intellij 代理设置
我尝试直接在代码中添加代理设置,例如:
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");
Run Code Online (Sandbox Code Playgroud)
我已经在所有可以想象的地方尝试了上述方法。我已经按照https://blogs.msdn.microsoft.com/azureossds/2017/04/26/capture-java-vm-traffic-using-fiddler/
等指南设置了 https 流量的密钥库
我还尝试修改 Maven 设置并在那里添加代理
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>127.0.0.1</host>
<port>8888</port>
</proxy>
</proxies>
Run Code Online (Sandbox Code Playgroud)
除了启用 https 解密之外,我没有触及任何 fiddler 设置。
我在 Java 环境中进行开发还很陌生,但感觉我正在做我应该做的事情来查看我的服务 http 调用,哪些地方可能会覆盖我添加的设置?
只需向https://httpbin.org/post发送一个简单的 POST 请求即可。
当我从 Postman 发送请求时,Fiddler 会捕获请求,但当我从 Insomnia 发送请求时,Fiddler 不会捕获请求。
我需要在 Fiddler 或 Insomnia 中启用某些设置吗?
我倾向于使用 fiddler 为其自动回复器(测试延迟或无效响应将如何影响整个页面加载),直到现在才意识到不支持 http2,所有站点在与 fiddler 一起加载页面时默认为 http1/1!任何更换工具的建议将不胜感激!
我将会话从 Fiddler 导出到 saz 文件。此会话仅包含 jpg 文件,我想知道 -如何快速轻松地从 saz 中提取 jpg 文件?
谢谢!
是否可以更改开发服务器在visual studio 2008中激活的主机名?最终我希望visual studio能够直接在http://localhost.:xxxx/上开始(注意期间).由于我正在做更多的ajax类型调用,我发现我需要使用像fiddler这样的工具更频繁地检查流量来检查响应/请求.(Fiddler无法通过http:// localhost /查看请求,因为它们不会遍历常规网络堆栈).
我查看了Web服务器配置页面但没有跳出来.
我不是特别想在盒子上配置IIS的路线,但会考虑一个令人信服的答案.
对于DNS解析测试目的...我想禁用Windows 7中的所有DNS缓存
我仍然看到"DNS Lookup : 0 ms"同一域的连续请求.
我已经尝试了显而易见的"ipconfig /flushdns",并完全停止了服务:
net stop dnscache
Run Code Online (Sandbox Code Playgroud)
此命令也会产生相同的效果:
net stop "DNS Client"
Run Code Online (Sandbox Code Playgroud)
而且我也知道浏览器会在很短的时间内缓存DNS查找.所以我刷新他们的缓存,关闭打开浏览器,或者我在不同的浏览器(Firefox,chrome,chrome incognito,IE)中打开相同的域以绕过DNS缓存.
因此,第一次,DNS查找时间可以是25毫秒(使用8.8.8.8),但随后下一个DNS查找缓存在系统中的某个位置,时间为0毫秒.如果我等待大约3到5分钟重复请求,那么只会消失.
我可以做什么来强制系统每次都解析DNS,即使在同一个DNS请求之间是5秒?
是否与Windows保持活动或某种类型的TCP连接重用有关?它不应该,因为我重新打开浏览器.但是我没有想法,
你能否解释一下这个问题?
谢谢