如何在本地计算机上嗅探/监听HTTP?

时间:2012-01-13 21:21:44

标签: delphi delphi-7

我想在端口80请求/响应中嗅探/监听。

是否可以使用TIdHTTPServer完成?如果是这样,那怎么样?

编辑: 我希望我的应用程序能够监听浏览器活动(可以是IE,Chrome,FF等...)并获取所有媒体链接(图像,电影)。像MediaPluck

这样的东西

MediaPluck的“问题”是您需要在Web浏览器配置中更改代理服务器,我认为这是一个坏主意。

3 个答案:

答案 0 :(得分:3)

无法使用TIdHTTPServerTIdHTTPProxyServer来嗅探HTTP流量,而无需更改浏览器/客户端设置以连接到它。这就是Fiddler所做的 - 暂时改变WinInet的代理设置(IE使用WinInet,因此它透明地获取更改)。您要求的是需要对网络子系统进行较低级别的嗅探,例如WinPCap / Ethereal所做的事情。

答案 1 :(得分:1)

您可以使用TIdHTTPServer编写代理服务器。但是,只有在Web浏览器中配置此代理服务器时,此“嗅探”才会起作用。

<强>更新

如果你想写另一个提琴手;-)看到这个答案: Any resource/codes on how fiddler works?

更新2

根据您的问题更新,您有两种选择。

如Remy指出的那样更改WinInet代理设置。例如,看到这个问题,你只需要将代码从C ++翻译成Delphi:C++/WinInet Change Proxy Settings Windows 7

或编写Windows驱动程序以支持捕获数据包。但对于媒体应用来说,这似乎是更糟糕的选择。

答案 2 :(得分:-1)

我可以使用FiddlerFiddlerCore

完成