是否可以使用 nmap 进行操作系统检测扫描而不扫描端口?我真的只需要操作系统检测,并尽量减少流量。
顺便问一下,进行操作系统 sdcan 最准确的方法是什么?目前我
nmap xx.xx.xx.xx -sF -A --osscan-guess -p 80 -Pn
因为 nmap 至少需要一个端口。
答案1
这是不可能的,因为 Nmap 需要知道端口的状态才能预测(并因此分类)操作系统的响应。Nmap 的操作系统检测的详细信息可以在线找到Nmap 网络扫描。重要的一点是,Nmap 需要至少一个开放的 TCP 端口和一个关闭的 TCP 端口才能准确匹配操作系统指纹。
鉴于此,如果您愿意接受一些错误,或者您对所涉及的主机有所了解,那么有一些方法可以减少所涉及的流量。您可以使用--top-ports
选项。如果您知道一个开放端口,您可以猜测一些关闭的端口,并且只扫描少数端口。例如,如果您正在扫描 Web 服务器:
nmap -p 80,1,2,3 -O scanme.nmap.org
此命令假定端口 80 将打开(因为目标是 Web 服务器),并且其他三个端口中至少有一个将关闭(因为它们不经常使用)。这样,Nmap 只需扫描 4 个端口即可进行操作系统指纹识别。