ARP 扫描
- 默认情况下 Nmap 使用 ping 扫描活动主机
- 只有当与目标系统位与同一子网时才可以进行 ARP 扫描
如果我们与目标位与同一子网上, ARP 查询优先于 ICMP 请求
# -PR 表示只想要一个 ARP 扫描
# -sn 表示不扫描端口
pentester@TryHackMe$ sudo nmap -PR -sn 10.10.210.6/24
原理:当 ARP 请求发现活动主机后, 目标会返回一个 ARP 回复
ICMP扫描
我们可以直接使用 ping 来目标进行扫描,但并不是可靠的,许多防火墙会阻止 ICMP 回显
# -PE 使用 ICMP 回显请求发现活动主机
pentester@TryHackMe$ sudo nmap -PE -sn 10.10.68.220/24
因为 ICMP 回显请求经常被阻止,那么我们还可以考虑
ICMP 时间戳
来判断目标是否在线, Nmap 使用时间戳请求(ICMP 类型 13)并检查它是否会收到时间戳回复(ICMP 类型 14)
# -PP 使用 ICMP 时间戳来判断目标是否存在
pentester@TryHackMe$ sudo nmap -PP -sn 10.10.68.220/24
我们还可以考虑使用地址掩码 (ICMP 类型 18)
# -PM 使用地址掩码
pentester@TryHackMe$ sudo nmap -PM -sn 10.10.68.220/24
TCP
TCP 三次握手中如果目标端口开放会建立三次握手,如果端口关闭则不会有三次握手
1. TCP SYN
pentester@TryHackMe$ sudo nmap -PS -sn 10.10.68.220/24
2. TCP ACK
发送一个 ACK 标志的数据包
pentester@TryHackMe$ sudo nmap -PA -sn 10.10.68.220/24
反向 DNS 查找
Nmap 的默认行为是使用反向DNS在线主机。因为主机名可以透露很多信息,所以这是一个很有帮助的步骤。但是,如果您不想发送此类 DNS 查询,则可以-n
跳过此步骤。
默认情况下,Nmap 会查找在线主机;但是,您甚至可以使用该选项-R
查询离线主机的DNS服务器。如果要使用特定的 DNS 服务器,可以添加该 --dns-servers DNS_SERVER
选项