C# 监视C中包含特定字符串的TCP流量#

C# 监视C中包含特定字符串的TCP流量#,c#,tcp,monitor,network-traffic,C#,Tcp,Monitor,Network Traffic,最近,我的一台机器感染了恶意软件,使用IRC与它的指挥和控制中心通信 这引起了我的兴趣,我想看看是否有一个我可以用C#创建的程序能够监控TCP上的流量,该程序包含PONG/NICK/USER(irc rfc需要通信的字符串),然后可以告诉我流量来自哪个进程 这对我来说将是一次有趣的学习经历,也是我想要尝试的 我做了一些研究,发现了一些确实使用WinPcap的东西,但我想我希望避免使用pcap的解决方案。如果可能的话,有人能给我一些建议吗 我知道我可以使用System.Net.NetworkInf

最近,我的一台机器感染了恶意软件,使用IRC与它的指挥和控制中心通信

这引起了我的兴趣,我想看看是否有一个我可以用C#创建的程序能够监控TCP上的流量,该程序包含PONG/NICK/USER(irc rfc需要通信的字符串),然后可以告诉我流量来自哪个进程

这对我来说将是一次有趣的学习经历,也是我想要尝试的

我做了一些研究,发现了一些确实使用WinPcap的东西,但我想我希望避免使用pcap的解决方案。如果可能的话,有人能给我一些建议吗

我知道我可以使用System.Net.NetworkInformation.TCPC ConnectionInformation和可能的IPGlobalProperties查看我的计算机与其他主机之间的连接,但我不确定是否有任何方法可以实时查看信息,或者轻松地将其追溯到我的计算机上的进程


谢谢。

这将很难。您需要的API是本机的。根据Microsoft的说法,这是无法从C#访问的,您必须先将其包装在C++/CLI中


有关讨论,请参阅和。第二个线程为您提供了一些“可能有用”的内容。

感谢Steve的建议,但是是否还有其他可能的解决方案也适用于Windows XP?WFP似乎只在服务器2008启动时才可用。监视原始套接字也始终是一个选项吗?在Windows XP中,您仅限于内核模式过滤afaik。无法很好地使用托管代码。请参见此处:为什么不使用winpcap?windump和ethereal都使用它,它相当成熟。