2011-06-10 34 views
1

我想看看什么样的连接,任何程序正在做,哪个端口,看到程序EXE路径等如何跟踪任何程序试图使用哪个网络端口?

我想实现某种防火墙通知系统,它会弹出一个窗口给我告诉这个和那个端口需要打开才能使程序正常工作。

我该如何开始?

回答

1

您需要为每个愿意提供此功能的进程都挂接套接字API,或者使用WFP和客户端应用程序编写过滤器,这些应用程序从过滤器接收信息并显示通知窗口。

1

结帐Windows Filtering Platform (WFP) API。不确定您如何将网络活动与应用程序相关联,但这是您拦截它的正确位置。

+0

+1。这种关联可能发生在ALE上(参见'inMetaValues'中的'processId')。使用PID,您可以轻松检索可执行文件路径和参数。 – jweyrich 2011-06-10 15:59:20

+0

@Jweyrich - 感谢您添加额外信息 – 2011-06-10 16:31:29

1

netstat/o为您提供每个网络连接的进程ID,并且netstat/b为您提供可执行文件的名称。

+0

正确,但是这不会告诉你什么时候禁止访问网络,因为netstat在发生故障时不会看到任何内容。每次连接尝试时都需要一个可追踪事件。 – 2011-06-10 15:44:02

相关问题