介绍
当我们想要针对一个网络时,我们希望找到一个高效的工具来帮助我们处理重复性任务并回答以下问题:
- 哪些系统已启动?
- 这些系统上正在运行哪些服务?
我们将依赖的工具是Nmap。关于寻找在线计算机的第一个问题将在这个房间得到解答。该房间是专门讨论Nmap的四个房间系列中的第一个。关于发现正在运行的服务的第二个问题将在下一个关注端口扫描的Nmap房间中得到解答。
这个房间是Nmap系列中四个房间中的第一个。这四个房间也是网络安全模块的一部分。
1.Nmap实时主机发现
2.Nmap基本端口扫描
3.Nmap高级端口扫描
4.Nmap后端口扫描
这个房间解释了Nmap在端口扫描之前发现在线系统所执行的步骤。此阶段至关重要,因为尝试对离线系统进行端口扫描只会浪费时间并在网络上产生不必要的噪音。
我们介绍Nmap用于发现活动主机的不同方法。我们特别涵盖:
- ARP扫描:此扫描使用ARP请求来发现活动主机
- ICMP 扫描:此扫描使用 ICMP 请求来识别活动主机
- TCP/ UDP ping 扫描:此扫描将数据包发送到 TCP 端口和UDP端口以确定活动主机。
我们还介绍了两个扫描仪arp-scan
和,并解释了它们如何与Nmap的主机发现masscan
部分重叠。
正如已经提到的,从这个房间开始,我们将使用Nmap主动发现系统和服务。Nmap由网络安全专家和开源程序员 Gordon Lyon (Fyodor) 创建。它于 1997 年发布。 Nmap是 Network Mapper 的缩写,是在 GPL 许可下发布的免费开源软件。Nmap是一种行业标准工具,用于映射网络、识别活动主机和发现正在运行的服务。Nmap的脚本引擎可以进一步扩展其功能,从指纹识别服务到利用漏洞。 Nmap扫描通常会执行下图所示的步骤,尽管许多步骤是可选的并且取决于您提供的命令行参数。
子网
在继续主要任务之前,让我们先回顾一下几个术语。网段是使用共享介质连接的一组计算机。例如,该介质可以是以太网交换机或WiFi接入点。在 IP 网络中,子网通常相当于连接在一起并配置为使用同一路由器的一个或多个网段。网段是指物理连接,子网是指逻辑连接。
在下面的网络图中,我们有四个网段或子网。一般来说,您的系统将连接到这些网段/子网之一。子网(或简称子网)拥有自己的 IP 地址范围,并通过路由器连接到更广泛的网络。可能有防火墙根据每个网络强制执行安全策略。
上图显示了两种类型的子网:
- 子网带有
/16
,表示子网掩码可以写为255.255.0.0
。该子网可以拥有大约 65,000 台主机。 - 子网带有
/24
,表示子网掩码可以表示为255.255.255.0
。该子网可以有大约 250 台主机。
作为主动侦察的一部分,我们希望发现有关一组主机或子网的更多信息。如果您连接到同一子网,您可能希望扫描器依靠ARP(地址解析协议)查询来发现活动主机。ARP查询的目的是获取硬件地址(MAC地址),以便能够通过链路层进行通信;但是,我们可以用它来推断主机在线。
如果您位于网络 A 中,则只能使用ARP来发现该子网 (10.1.100.0/24) 内的设备。假设您连接到的子网与目标系统的子网不同。在这种情况下,扫描仪生成的所有数据包将通过默认网关(路由器)路由以到达另一个子网上的系统;但是, ARP查询不会被路由,因此无法穿过子网路由器。ARP是链路层协议,ARP数据包绑定到其子网。
单击“查看站点”按钮启动网络模拟器。我们将使用这个模拟器来回答任务 2、4 和 5 中的问题。
2.1发送包含以下内容的数据包:
- 从计算机1
- 至computer1(表示正在广播)
- 数据包类型:“ARP 请求”
- 数据:computer6(因为我们正在使用 ARP 请求获取 computer6 MAC 地址)
有多少设备可以看到 ARP 请求? 4(计算设备时不要计算开关。,包括路由器交换机主机)
Computer6 是否收到 ARP 请求? (是/否) 答案:N
发送包含以下内容的数据包:
- 从电脑4
- 至计算机4(表示正在广播)
- 数据包类型:“ARP 请求”
- 数据:computer6(因为我们正在使用 ARP 请求获取 computer6 MAC 地址)
有多少设备可以看到 ARP 请求? 4
Computer6 是否回复了 ARP 请求? (是/否) 答案:Y
枚举目标
我们在任务 1 中提到了可用于扫描的不同技术。在详细解释每种技术并将其用于实时目标之前,我们需要指定要扫描的目标。一般来说,您可以提供列表、范围或子网。目标规范的示例有:
- list:
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
。)
3.110.10.12.13/29
如果您提供目标IP 地址,Nmap 将扫描的第一个 IP 地址是什么 ?
答案:10.10.12.8 (运行namp -sL -n 10.10.12.13/29
)
3.2如果您提供以下范围,Nmap 将扫描多少个 IP 地址 10.10.0-255.101-125
? 6400
nmap -sL -n 0.10.0-255.101-125
发现实时主机
让我们回顾一下下图所示的TCP /IP 层。我们将利用协议来发现实时主机。从下到上,我们可以使用:
- 来自链路层的ARP
- 来自网络层的 ICMP
- 来自传输层的TCP
- 传输层的UDP
在我们详细讨论扫描仪如何使用每个协议之前,我们将简要回顾一下这四种协议。ARP 的目的只有一个:向网段上的广播地址发送一帧,并要求具有特定 IP 地址的计算机提供其 MAC(硬件)地址进行响应。