2012-08-10 17 views
0

我想列出特定系统的所有开放端口的网络。 我找到了一个解决方案,但工作速度非常缓慢。我正在使用.net框架3.5。得到指定IP地址的所有开放端口,使用C#

+0

[你尝试过什么(http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – 2012-08-10 18:06:20

回答

3

假设窗口:得到的开放端口的列表的唯一方法(或听/不听/过滤等)是端口扫描所有端口(其中所有65,535除非只关心特定的端口)。这是一个明显的安全考虑 - 为什么有这么多的端口扫描器,而不是有人敲小型C#实用程序来获取列表。因此,它会很慢。

如果是从网络(和你因此可以访问它) - 你可以建立一个安全的(ISH)内部服务,它允许在同一子网的其他机器请求的端口的列表。这需要每台机器都运行该服务,需要内置一些安全考虑因素,以及一种请求方式(很可能是一个小型Windows应用/ cmd线路例程,用于发送服务监听的UDP或TCP请求,并且等等)可能使用encyrption或安全套接字返回列表)。有可能是现成的(甚至可能是免费的蜜蜂 - 尽管认为安全)产品或工具可用于访问(本地)网络。或(Microsoft's PortQry tool也许)

但是,如果你试图写一个黑客工具 - 只要下载NMap的替代。

相关问题