VB.NET/WIN32/WMI监视开放网络连接的最佳方法

时间:2014-08-14 02:50:20

标签: vb.net sockets winapi tcp netstat

我正在开发自己的反恶意软件应用程序。我已经成功实现了文件系统和进程监控,现在我正在寻找“某种防火墙功能”。我已经做了一些研究,发现了iphlpapi.dll,netstat -o解析。

确切地说,当打开新的IP(TCP / UDP /无论)连接时,我想用以下数据接收事件

  • 远程IP地址
  • 协议(TCP / UDP /...)
  • 端口
  • 打开连接的进程的ID

我不想运行仍然检查netstat输出的计时器,因为它无效。当检测到与恶意IP的连接时,我需要快速暂停进程(我知道如何暂停进程)。

1 个答案:

答案 0 :(得分:0)

我怀疑除了编写驱动程序之外,唯一的方法是使用Windows事件跟踪(ETW)。检查.NET System.Diagnostics.Eventing

关于ETW https://msdn.microsoft.com/en-us/library/windows/desktop/aa363668(v=vs.85).aspx

在ETW中,您可以从以下三个提供商开始:

  • Microsoft-Windows-NDIS-PacketCapture
  • Microsoft-Windows-TCPIP
  • 微软Windows的网络相关