你好。我们从Nmap目标规范开始。现在我们继续使用主机发现选项。主机发现是检测同一网络或远程网络中的主机。一般来说,我们发送一个数据包到目标主机,然后我们得到一个响应或没有,但有时我们只是听,并从主机获得数据包。我们根据得到的响应来决定主机状态。有一些不同的方式来发送数据包。 Nmap default(如果没有提供选项)主机发现的操作是ICMP echo和time stamp、sync to 443(https)和ack to TCP 80(HTTP)。
ARP扫描
-PR选项用于arp检查,所以它只发送arp请求。在第二个块中,我们看到目标主机网络转储。-sn选项禁用端口扫描。
$ nmap -PR -sn u1
列表扫描
列表扫描是一种被动扫描,所以我们不发送数据包到网络,我们只是听。正如您可以看到的输出,有一个主机正在运行,但扫描显示没有一个主机正在运行。
$ nmap -sL 192.168.122.0/24
无Ping扫描
无ping扫描将禁用扫描的ping阶段。通常,扫描从ping开始查找活动主机,然后开始对活动主机进行重端口扫描。但是如果您设置这些选项,它将从所有指定主机的重端口扫描开始。
$ nmap -Pn 192.168.122.0/24
同步扫描
TCP同步ping是另一种可靠扫描的方法。如果有像RST或ACK这样的主机,同步发送到给定的端口并得到响应。这里我们可以看到TCP 22。
$ nmap -sn -PS22 192.168.122.0/24
确认扫描
TCP Ack ping与sync ping类似,但正如您猜测的那样,Ack和sync标志已设置。
$ nmap -sn -PA22 192.168.122.0/24
UDP扫描
UDP-ping类似于TCP-ping。在这里,您可以为随机选择的有效负载指定数据包的数据长度。
$ nmap -sn --data-length 500 -PU514 192.168.122.0/24
ICMP回波扫描
ICMP ping类型用于ping ICMP类型。最常用和最有用的是回声。这种类型的扫描ping所有主机
$ nmap -sn -PE 192.168.122.0/24
协议列表用于指定ip协议编号。如您所知,ICMP、TCP、UDP和IP数据包头中指定的类似协议号。在这里我们可以设置这些数字。例如,UDP是17。这种类型的扫描不可靠,所以我跳过它。
相关文章: 如何在Linux中检查文件的完整性?
不解析DNS
解析DNS可能会减慢扫描速度,也可能是不必要的。所以我们可以用-n选项停止DNS解析,或者用-R选项强制解析。如果我们想使用系统指定的DNS使用 --system-dns
或者要指定手动DNS服务器使用 --dns-servers 8.8.8.8
$ nmap -sn -n 192.168.122.0/24