最近Fiddler打开时没有过滤器,我在命令提示符下运行一个与服务器通信的程序(它是一个简单的内部专有程序)。
有趣的是,Fiddler并没有接受这种通信,这种通信主要由REST API调用组成。我做了一些研究并从here
找到了这个引用关于为什么你没有在Fiddler看到这种流量 - 假设你没有设置过滤器,这表明无论如何 您用来发送HTTP请求的机制并不是采用 系统的代理设置。例如,这意味着您的代码 如果在需要代理服务器的公司计算机上运行,则会失败 到达互联网。
但是,我想知道为什么会这样。据我了解,我的计算机仍然需要从我的网卡发送数据到代理服务器的网卡。流量不会绕过我的网卡 - 它只是携带不同的地址。为什么Fiddler不能看到这个?
答案 0 :(得分:1)
原因是Fiddler不是通过嗅探你的网卡而是通过将自己安装为系统代理来工作。如果单击开始并键入" Internet选项"并选择标签" Connections"和按钮"局域网设置"您将看到localhost:8888是您的系统代理。现在,大多数表现良好的客户(例如IE和Chromer)都尊重并使用系统代理,但有些客户并不知情。特别是Java程序对于它们将使用哪个代理有自己的想法,你必须单独设置它。对于刚刚进行硬编码以制作自己的直接HTTP请求的其他程序,AFAIK无法使用Fiddler监视它们。