我需要找到安装在远程机器上的操作系统类型。 我知道,我可以使用像NMap这样的OS Finger Printing Tools来检测远程机器的操作系统特定细节。 但是我不能使用这样的工具,因为有一些授权问题。 我需要实现自己的逻辑来检测操作系统。 在我的搜索我找到了一个link,我们可以找到基于TTL的操作系统类型。 但使用TTL并不总是准确的。它基于跳数计算。基于端口识别远程操作系统
机器上会有一些开放的端口。通过扫描,我们可以设法找到操作系统。
有没有这样的端口可能会提供一些有关操作系统类型的想法? 我需要实现一个逻辑来运行基于OS的脚本。如果有一些条件对检测操作系统类型很有帮助,那么可能会节省一些时间。
if(IsOpen(Some_Port_Number))
{
//This machine might be a windows based one so
if(Run_WindowsBasedScript()==False)
{
Run_LinuxBasedScript();
}
}
else
{
if(Run_LinuxBasedScript()==False)
{
Run_WindowsBasedScript();
}
}
因此,我需要通过识别操作系统类型来缩短运行时间。我认为基于开放端口我们可以找到操作系统。任何帮助,将不胜感激。
请不要[交叉后](HTTP://超级用户。 com/questions/655403/identify-remote-os-based-on-port)在不同的堆栈交换站点上。请删除其中的一个问题。 – Rik
是的,我已经做到了。 – BinaryMee