我认为拦截请求的唯一方法是使用代理,但fiddler可以在某种程度上拦截HTTP请求和响应,而无需在任何浏览器上配置任何内容。
引擎盖下发生了什么?
你知道任何图书馆吗? (任何语言)
答案 0 :(得分:23)
Fiddler 是代理,用C#编写并包装基本套接字。
它在运行时使用适当的API调用向WinINET注册,并以相同的方式分离。大多数浏览器会自动检测WinINET代理设置并使用它。 Firefox没有,这就是当前版本的Fiddler安装Firefox插件的原因。
-EricLaw [MSFT]
答案 1 :(得分:13)
Fiddler实际上确实使用了代理。我相信安装程序会自动配置IE以使用Fiddler的代理。您还可以将其他浏览器配置为通过相同的代理,因此Fiddler也会分析其网络流量。
更多信息here
答案 2 :(得分:4)
我不知道小提琴手是怎么做的,但可以通过Windows上的Layered Service Provider来完成。
来自维基百科:
“分层服务提供程序(LSP)是Microsoft Windows Winsock 2服务提供程序接口(SPI)的一项功能。分层服务提供程序是一个使用Winsock API将自身插入TCP / IP堆栈的DLL。堆栈,分层服务提供商可以拦截和修改入站和出站互联网流量。它允许处理互联网和访问互联网的应用程序之间发生的所有TCP / IP流量(例如Web浏览器,电子邮件客户端,等等。“
答案 3 :(得分:1)
可能在混杂模式下运行网络接口。这就是WireShark能够监控网络流量并显示它的方式。
答案 4 :(得分:1)
Fiddler支持JScript .NET事件处理引擎,允许用户自动修改HTTP请求或响应。引擎可以在Fiddler用户界面(UI)中修改会话的可视外观,以引起对错误的注意或从列表中删除不感兴趣的会话。
答案 5 :(得分:1)
我想您不希望听到您可以在Web服务器而不是客户端(如果是本地)拦截它们,或者可以使用WPAC(代理自动配置)。
另一种选择是使用像SocksCap这样的软件来“调试”浏览器(或网络服务器)进程,每当他调用一些winsock函数时,它们就会拦截它并调用自己的代码。
执行此类操作的库(在调试过程中拦截库调用)为detours。
答案 6 :(得分:1)
另一种选择是使用Wireshark之类的东西。以下内容来自http://www.wireshark.org/
上的“关于”页面Wireshark是世界上最重要的 网络协议分析仪,是 事实上(通常是法律上的)标准 跨越许多行业和教育 机构。
功能
Wireshark具有丰富的功能集,其中包括以下内容:
- 深入检查数百个协议,并添加更多协议 时间
- 实时捕捉和离线分析
- 标准三窗格数据包浏览器
- 多平台:在Windows,Linux,OS X,Solaris,FreeBSD,NetBSD上运行, 和许多其他人
- 可以通过GUI或通过TTY模式浏览捕获的网络数据 TShark实用程序
- 业界最强大的显示过滤器
- 丰富的VoIP分析
- 读/写许多不同的捕获文件格式:tcpdump(libpcap),Pcap NG,Catapult DCT2000,Cisco Secure IDS iplog,Microsoft网络监视器, NetworkGeneralSniffer®(压缩式 和未压缩的),Sniffer®Pro和 NetXray®,网络仪器 Observer,NetScreen snoop,Novell LANalyzer,RADCOM WAN / LAN分析仪, Shomiti / Finisar Surveyor,Tektronix K12xx,Visual Networks Visual UpTime, WildPackets公司 EtherPeek / TokenPeek / AiroPeek等等 其他
- 使用gzip压缩的捕获文件可以动态解压缩
- 可以从以太网,IEEE 802.11,PPP / HDLC,ATM读取实时数据 蓝牙,USB,令牌环,帧 继电器,FDDI和其他(取决于 你的平台)
- 对许多协议的解密支持,包括IPsec,ISAKMP, Kerberos,SNMPv3,SSL / TLS,WEP和 WPA / WPA2
- 可以将颜色规则应用于数据包列表,以实现快速,直观 分析
- 可以将输出导出为XML,PostScript®,CSV或纯文本
答案 7 :(得分:1)
在没有代理的情况下拦截流量的另一种方法是在支持的设备上使用WCCP。
http://www.cisco.com/en/US/docs/ios/11_2/feature/guide/wccp.html