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

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

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

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

为什么不直接扩展Fiddler以满足您的需求?

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

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

在.NET中以编程方式监听HTTP流量有什么办法吗?

编辑:此外, 捕获HTTP请求可能会有所帮助