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

时间:2011-06-16 20:27:08

标签: c# tcp monitor network-traffic

最近我的一台机器感染了恶意软件,使用IRC与其命令和控制中心进行通信。

这引起了我内心的兴趣,看看我是否可以在C#中创建一个能够监控TCP流量的程序,其中包含PONG / NICK / USER等字符串(irc rfc需要通信的字符串),以及然后可以告诉我流量来自的过程。

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

我做了一些研究,我发现了一些确实使用WinPcap的东西,但我想如果可能的话我想避免使用pcap的解决方案,任何人都可以按照我的方式发送任何建议吗?

我知道我可以使用 System.Net.NetworkInformation.TcpConnectionInformation 以及可能 IPGlobalProperties 查看我的计算机与其他主机之间的连接但我不确定是否无论如何,我可以实时查看信息,或者轻松地将其追溯到我的PC上的进程。

谢谢。

1 个答案:

答案 0 :(得分:2)

这很难。您需要的API是原生的,Windows Filtering Platform (WFP)。根据Microsoft的说法,无法从C#访问,您必须首先将其包装在C ++ / CLI中。

请参阅herehere进行讨论。第二个帖子有一些“可能有用”的东西给你。