有什么办法可以使用Java查找存在于本地网络中的服务器?

时间:2018-10-30 09:29:03

标签: java networking server network-scan

我想使用Java查找本地网络中存在的服务器列表。那可能吗?还是在进行网络扫描时有什么方法可以将服务器与主机区分开?

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是从Java调用nmap。这将进行端口扫描,并尝试对计算机正在侦听的端口进行分类。当然,您可以从Java中做同样的事情,但这不太值得。 https://nmap.org/

注意:这是网络黑客常用的工具,因此在执行此操作之前,请确保您已批准在网络上运行此工具。

答案 1 :(得分:0)

我不知道“普通主机”和“服务器”之间有明显区别。我使用的所有系统都可以作为“普通主机”和“服务器”……这取决于您的观点。 (而且您当然无法根据运行的操作系统来区分典型系统。例如,我的笔记本电脑运行Linux。)

如果(假设)您可以提出一些客观标准来区分两种系统(基于它们的行为/对网络请求的响应),则可以使用诸如nmap之类的工具来区分它们。另一种选择是使用OpenVAS之类的工具,该工具可以根据各种线索对系统的操作系统进行“有根据的猜测”。

但这实际上取决于您为确定系统是否为服务器提供一些客观/可衡量的标准。


  

但是,nmap只是尝试猜测主机操作系统,而且大多数时候它都无法猜测。

是的。您是否希望典型的操作系统将这种信息提供给网络上任何要求的人/任何东西?

现在可以追溯到1980年代……Morris Worm发行到野外之前……人们更加信任。但不是在2018年!