使用.net监控传入/传出的http流量

时间:2010-01-17 06:21:15

标签: c# .net sockets tcp

我想写一个小应用程序,它可以: 1.监控通过网络浏览器请求的URL和/或 2.监控本地计算机上的传入http响应

我一直在做一些谷歌搜索,但我没有找到任何明确的答案。我想的可能是System.Net.Sockets.TCPListener并且搞乱了它,但我的印象是它不是我正在寻找或者无法处理这两件事。

我不需要详细的逐步解释。只是一个小概述将是有帮助的(如果这是可能的),例如(使用什么类,要订阅什么事件,实例化必要对象所需的任何其他细节)我可以谷歌细节。

2 个答案:

答案 0 :(得分:1)

为什么不将Fiddler扩展到suit您的需求?

答案 1 :(得分:0)

您可能希望使用类似Wireshark的实用程序(图形化,但不能使用C#,AFAIK编写脚本)。 Wireshare使用一个名为WinPcap的库,它可以对计算机上的TCP流进行实际监控。 HTTP标头的解码需要在您的应用程序中完成(这是wireshark / tcpdump / windump应该能够做到的)。您将需要使用PInvoke来调用WinPcap DLL。您可以通过执行“WinPcap PInvoke”的Web搜索来查找库包装器。

这个问题听起来非常类似于以下内容:

Is there any way in .NET to programmatically listen to HTTP traffic?

编辑:此外,Capturing HTTP requests可能会有所帮助