使用 .net 监控进出的 http 流量

5
我想编写一个小应用程序,可以: 1. 监控通过Web浏览器请求的URL和/或 2. 监控本地机器上传入的http响应
我已经做了一些谷歌搜索,但没有找到清晰的答案。我想也许是System.Net.Sockets.TCPListener并对其进行操作,但我的印象是它要么不是我要找的,要么无法处理两件事。
我不需要详细的逐步说明。只需要一个小概述就可以了(使用哪些类,订阅哪些事件,实例化必要对象所需的任何其他详细信息),我可以在谷歌上查找细节。

这篇CP文章有帮助吗:http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C - danish
2个回答

0

0

你可能想要使用像Wireshark这样的实用工具(图形化界面,但是据我所知不能从C#脚本化)。Wireshark使用一个名为WinPcap的库,在计算机上实际监视TCP流。HTTP头的解码需要在你的应用程序中完成(这就是wireshark/tcpdump/windump应该能够完成的任务)。你需要使用PInvoke来调用WinPcap DLL。你可以通过搜索“WinPcap PInvoke”来找到库包装器。

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接