Nmap Live Host Discovery

Nmap Live Host Discovery (nmap实时主机的发现)

  1. ARP扫描:此扫描使用ARP请求来发现活动主机
  2. ICMP 扫描:此扫描使用 ICMP 请求来识别活动主机
  3. TCP/ UDP ping 扫描:此扫描将数据包发送到 TCP 端口和UDP端口以确定活动主机。

https://tryhackme-images.s3.amazonaws.com/user-uploads/5f04259cf9bf5b57aed2c476/room-content/f1b4ede255e008646e425038d709c9b6.png

当在同一网段内的时候 ,可以使用arp-scan来进行扫描,但如果目标主机不再同一网段内,就不能使用arp-scan进行扫描 因为arp是在数据链路层,不能够跨网段。

  • 列表:MACHINE_IP scanme.nmap.org example.com将扫描 3 个 IP 地址。
  • 范围:10.11.12.15-20将扫描 6 个 IP 地址:10.11.12.15、、 10.11.12.16……和10.11.12.20
  • 子网:MACHINE_IP/30将扫描 4 个 IP 地址。

您还可以提供一个文件作为目标列表的输入nmap -iL list_of_hosts.txt

如果您想要检查Nmap将扫描的主机列表,可以使用nmap -sL TARGETS。此选项将为您提供 Nmap 将扫描的主机的详细列表,而无需扫描它们;但是,Nmap 将尝试对所有目标进行反向DNS解析以获取其名称。名称可能会向渗透测试人员透露各种信息。(如果您不想让 Nmap 访问DNS服务器,可以添加-n。)

image-20240708165132302

下面是tcp/ip七层参考模型

https://tryhackme-images.s3.amazonaws.com/user-uploads/5f04259cf9bf5b57aed2c476/room-content/745e0412b319d324352c7b29863b74f4.png

从下到上是 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

1.数据链路层的ARP

2.网络层的ICMP

3.传输层的TCP 传输层的UDP

ARP有一个目的:向网络段上的广播地址发送一个帧,并要求具有特定 IP 地址的计算机通过提供其 MAC(硬件)地址来响应。

ICMP 有很多种类型。ICMP ping 使用类型 8(Echo)和类型 0(Echo Reply)。

如果要 ping 同一子网上的系统,则ARP查询应先于 ICMP Echo。

尽管 TCP 和UDP属于传输层,但出于网络扫描目的,扫描器可以向常用 TCP 或UDP端口发送特制数据包,以检查目标是否会响应。此方法非常有效,尤其是在 ICMP Echo 被阻止的情况下。

1.nmap使用arp进行主机发现

nmap -sn ip 是仅扫描存活主机,而不扫描端口。

nmap -PR -sn ip 是利用arp扫描仅存活主机

有一个工具arp-scan 是专门利用arp协议去扫描本网段的主机 arp-scan -l

如果有多个接口,利用arp-scan进行扫描时 可以利用命令 arp-scan -I eth0 -l 向接口eth0 发送arp查询

2.nmap使用ICMP进行主机发现

有些防火墙会阻止icmp包的回显请求 比如:新版本的 MS Windows

nmap -PE -sn ip 利用icmp进行存活主机的探索

由于 ICMP 回显请求往往会被阻止,因此您可能还会考虑使用 ICMP 时间戳或 ICMP 地址掩码请求来判断系统是否在线。Nmap使用时间戳请求(ICMP 类型 13)并检查它是否会收到时间戳回复(ICMP 类型 14)。添加该-PP选项会告诉Nmap使用 ICMP 时间戳请求。

nmap -PP -sn ip

类似地,Nmap使用地址掩码查询(ICMP 类型 17)并检查是否收到地址掩码回复(ICMP 类型 18)。可以使用选项启用此扫描-PM

nmap -PM -sn ip

3.nmap使用tcp/udp进行主机发现

TCP同步和确认ping

nmap -PS -sn ip nmap SYN ping

nmap -PA -sn ip (必须在特权模式下进行) nmap ACK ping

-PS端口号

-PA端口号

UDP ping

一个UDP数据包发送到一个开放的UDP端口,并没有触发任何响应。但是,向任何关闭的UDP端口发送UDP数据包可以触发响应,间接表明目标在线。

namp -PU -sn ip

-PU端口号

masscan也是一个扫描主机的一个工具 速度更快 主要用于大规模网络扫描

Nmap 的默认行为是使用反向DNS在线主机。由于主机名可以揭示很多信息,因此这可能是一个有用的步骤。但是,如果您不想发送此类DNS查询,则可以-n跳过此步骤。

默认情况下,Nmap将查找在线主机;但是,您可以使用该选项-R查询DNS服务器,即使是离线主机也是如此。如果您想使用特定的DNS服务器,可以添加该 --dns-servers DNS_SERVER 选项。

扫描类型 示例命令
ARP扫描 sudo nmap -PR -sn MACHINE_IP/24
ICMP 回显扫描 sudo nmap -PE -sn MACHINE_IP/24
ICMP 时间戳扫描 sudo nmap -PP -sn MACHINE_IP/24
ICMP 地址掩码扫描 sudo nmap -PM -sn MACHINE_IP/24
TCP SYN Ping 扫描 sudo nmap -PS22,80,443 -sn MACHINE_IP/30
TCP ACK Ping 扫描 sudo nmap -PA22,80,443 -sn MACHINE_IP/30
UDP Ping 扫描 sudo nmap -PU53,161,162 -sn MACHINE_IP/30

-sn如果您只对主机发现感兴趣,而不对端口扫描感兴趣, 请记得添加。省略-sn将使Nmap默认对活动主机进行端口扫描。

选项 目的
-n 无需DNS查找
-R 反向DNS查找所有主机
-sn 仅主机发现

Nmap Live Host Discovery
http://example.com/2024/07/09/nmap实时主机的发现/
作者
FSRM
发布于
2024年7月9日
更新于
2024年7月9日
许可协议