ARP
nmap -sn -PR <target>
- 优点:高效可靠
- 缺点:只能扫描局域网
ICMP
ICMP echo:namp -sn -PE <target>
ICMP timestamp:namp -sn -PP <target>
ICMP netmask:namp -sn -PM <target>
- 优点:常见的扫描方法之一,应用范围广泛(不局限于局域网)
- 缺点:目标设备可能屏蔽了ICMP导致结果准确性降低,也就是说有一些设备会被ICMP误判为不在线或不存在。因此,基于ICMP的活跃设备发现只能证明被扫描到的设备活跃,但不能证明没有被扫描到的设备不活跃
TCP
TCP SYN:nmap -sn -PS <target>
TCP ACK:nmap -sn -PA <target>
即使端口是关闭的也会发送一个RST回应。因此,只要能够得到某个端口的回应,就可以确认该设备是活跃的
- 优点:可靠
- 缺点:效率比较低(如果只是确定设备是否活跃的话建议设置timeout),而且如果遇到防火墙的话可能会处于一个一直都得不到回应的状态,因此对端口的选择比较重要,一般选择常用端口(比如80、443)
UDP
nmap -sn -PU <target>
当目标的端口开放时不会得到回应,当目标端口关闭时会返回unreachable(不可达)的ICMP数据包
- 优点:端口选择范围比较大,因为关闭的端口有很多
- 缺点:UDP扫描效率比TCP还要低。同时,在服务器有防火墙的情况下基本上都会屏蔽不常用端口,因此使用UDP虽然看似可选择的端口更多,但是能成功完成正确扫描的概率更低
SCTP
nmap -sn -PY <target>
- 缺点:很多主机并不支持SCTP协议
IP
nmap -sP -PO <target>