获取网络终端的操作系统版本(JAVA)

获取网络终端的操作系统版本(JAVA),java,network-programming,operating-system,snmp,upnp,Java,Network Programming,Operating System,Snmp,Upnp,你知道如何用java在我的本地网络上获得终端的OS版本吗。 我听说UPNP可以做到这一点,但我不知道如何使用它,也不知道是否有一个很好的java实现 PS:我不能使用SNMP,因为我不确定SNMP是否在目标终端中激活。您可以使用带-O选项,它不需要任何客户端在终端上运行,并且精度几乎完美。您可以使用带-O选项,它不需要在终端上运行任何客户端,而且精度几乎完美。-是包装Nmap的Java API。-是包装Nmap的Java API。因此我必须使用丑陋的方式exec()函数。它需要在我的终端中安装一

你知道如何用java在我的本地网络上获得终端的OS版本吗。 我听说UPNP可以做到这一点,但我不知道如何使用它,也不知道是否有一个很好的java实现


PS:我不能使用SNMP,因为我不确定SNMP是否在目标终端中激活。

您可以使用带-O选项,它不需要任何客户端在终端上运行,并且精度几乎完美。

您可以使用带-O选项,它不需要在终端上运行任何客户端,而且精度几乎完美。

-是包装Nmap的Java API。

-是包装Nmap的Java API。

因此我必须使用丑陋的方式exec()函数。它需要在我的终端中安装一个nmap,当它有反病毒问题时使用它是不安全的,而且它是不合法的。事实上,如果你在你自己的网络中使用它,nmap没有什么非法的。无论如何,您只需要在运行脚本的计算机上安装Nmap。也许您可以找到一些避免使用exec的Java API。好的,如果存在,我将搜索该API。因此,我必须使用丑陋的方式exec()函数。它需要在我的终端中安装一个nmap,当它有反病毒问题时使用它是不安全的,而且它是不合法的。事实上,如果你在你自己的网络中使用它,nmap没有什么非法的。无论如何,您只需要在运行脚本的计算机上安装Nmap。也许你可以找到一些避免使用exec的Java API。好的,如果存在的话,我会搜索这个API。不完全是这样,但是谢谢你的回答。我正在寻找将NMap的指纹操作系统检测重新发明为纯Java或任何其他解决方案,使我能够大致检测操作系统版本。欢迎。我认为为OS指纹识别找到一个纯Java实现将是一个挑战。据我所知,要做到这一点,你必须发送某些类型的原始数据包。要做到这一点,您需要操作系统特定的API和对机器的根访问。Nmap对操作系统指纹的支持非常好,并且有很多支持者。另外,Nmap维护得非常好,他们每年都会发布很多版本,并进行大量的bug修复。我总是发现他们的用户和开发者社区非常有帮助。不完全是这样,但谢谢你的回答。我正在寻找将NMap的指纹操作系统检测重新发明为纯Java或任何其他解决方案,使我能够大致检测操作系统版本。欢迎。我认为为OS指纹识别找到一个纯Java实现将是一个挑战。据我所知,要做到这一点,你必须发送某些类型的原始数据包。要做到这一点,您需要操作系统特定的API和对机器的根访问。Nmap对操作系统指纹的支持非常好,并且有很多支持者。另外,Nmap维护得非常好,他们每年都会发布很多版本,并进行大量的bug修复。我总是发现他们的用户和开发人员社区非常有帮助。