linux命令正常运行时间的输出与命令nmap的输出不同

linux命令正常运行时间的输出与命令nmap的输出不同,linux,nmap,Linux,Nmap,在我的linux框中,命令uptime告诉我800天。然而,命令nmap表示48天(在其输出的正常运行时间行中)。这两个正常运行时间应该相同吗?如果不是每一个的真正含义是什么?这就是为什么nmap打印Uptime guess的原因nmap通过发送多个连续的SYN/ACK TCP来检测正常运行时间,并检查是否有时间戳选项或计数器值等。此外,增量速率可能从OS到OS不等。最后,一些OS-es使用随机值启动计数器,这会使正常运行时间检测算法复杂化 最好的办法是去阅读nmap的网页上的文档:关于“正常运

在我的linux框中,命令uptime告诉我800天。然而,命令nmap表示48天(在其输出的正常运行时间行中)。这两个正常运行时间应该相同吗?如果不是每一个的真正含义是什么?

这就是为什么
nmap
打印
Uptime guess
的原因
nmap
通过发送多个连续的
SYN/ACK TCP
来检测正常运行时间,并检查是否有时间戳选项或计数器值等。此外,增量速率可能从
OS
OS
不等。最后,一些
OS
-es使用随机值启动计数器,这会使正常运行时间检测算法复杂化


最好的办法是去阅读
nmap
的网页上的文档:

关于“正常运行时间猜测”的文档应该可以回答这个问题。因此,根据发布的帮助,答案可能是:不,这两个正常运行时间不必相同。前者报告主机的实际正常运行时间;后者只是一个猜测。对吗?所以如果我只想知道主机的实际正常运行时间,我可以信任命令“uptime”,忽略nmap告诉我的,对吗?@GoldThumb是的,
nmap
的操作系统检测选项不提供特定的结果。这只是一个有根据的猜测。对不起,在我深入研究nmap的文档之前,你能告诉我为什么48天是一个“有根据的猜测”,而实际值是800天:-我的主机是否可能被黑客入侵?@GoldThumb正常运行时间的文档只有10行,并解释了你需要知道的一切。但是,我将尝试在这里解释:您的Linux操作系统可以访问计算该值所需的所有信息,而
nmap
通过与主机的数据包交换收集信息。它收集的信息根据一组因素(如时间戳、计数器等)进行评估。如果主机随机化了这些值中的一个或多个,并且这些值的行为不符合预期,
nmap
将无法做出像以前那样好的猜测。