知识点记录
此文用于记录学习 TryHackMe 网站中 Room: Nmap Live Host Discovery 获得的知识点。ƪ(˘⌣˘)ʃ
网段、子网与子网掩码
网段:一个网段由一个网络地址和一个子网掩码组成;网段的主要作用是将IP地址空间划分成多个小块,分配给多个链接同一路由的主机;网段将其管理的多个主机打包,以便他们在网络中作为一个整体进行管理,以下是网段的分类

子网:子网是对网段的细分,如果是做一次类比,网段就好比电脑的 1TB 存储空间,而子网就等同于对这一大块硬盘分为 C/D/E 区
子网掩码:子网掩码通过和精确的 IP 作用,找到其链接的网段或子网,其工作原理及示例展示如下
1 | # 比如我现在拥有C类网段 192.168.1.0 => 共可管理256个IP |
显然,越大的网段,比如 10.1.0.0 这类,其可分配的 IP 也更多(10.1.0.0~10.1.255.255),此时子网可写为 10.1.0.0/16
ARP查询
ARP简介:又称“地址解析协议”,利用该协议,可以获取同一子网主机的硬件地址(MAC);需注意的是,ARP查询数据包仅会在链接同一交换机(数据链路层设备)的主机中通信,并不能被路由,无法跨越至其他网络
MAC地址:MAC 地址用于局域网内设备之间的通信。当一个设备想要与另一个设备通信时,它会使用目标设备的 MAC 地址来标识目标;它是一个唯一的标识符,通常与网卡绑定,每个网络设备在出厂时都会被分配一个唯一的 MAC 地址
ARP查询流程:ARP 查询的流程如下,假设使用主机 computer_A,交换机 Switch 记录的 MAC 地址表如下
| 主机名 | MAC地址 |
|---|---|
| computer_A | 00:14:22:01:23:45 |
| computer_B | 00:14:22:01:23:46 |
| computer_C | 00:14:22:01:23:47 |
| computer_D | 00:14:22:01:23:48 |

Nmap扫描指定
指定扫描IP的四种方式:列表、范围、子网和文件,展示如下
1 | list:MACHINE_IP scanme.nmap.org example.com => 扫描3个IP |
附加项的作用:列举提到的两项如下
| 附件选项 | 作用 |
|---|---|
nmap -sL 扫描IP |
输出将扫描的主机的详细列表 |
nmap -n 扫描IP |
不对 IP 进行反向 DNS 解析,这导致无法通过 IP 获得主机名 |
TCP/IP层协议解析
一图流如下

扫描所需协议:ARP,同一子网下存活主机扫描;ICMP,进行 ping 操作(可跨越路由操作);TCP/UDP,将特制的数据包发送到常见的 TCP 或 UDP 端口,以检查目标是否会响应
使用ARP进行Nmap扫描
使用条件:可使用 sudo 指令,目标与本机处于同一子网中,无需目标在线
使用语法:sudo nmap -PR -sn MACHINE_IP/24
示例扫描结果:如下图所示


一个专用ARP查询的扫描器:称arp-scan,使用指令apt install arp-scan下载,一般使用arp-scan -l,即扫描本地子网上所有有效 IP
使用ICMP进行Nmap扫描
使用条件:可使用 sudo 指令,需目标在线,即需目标对 ping 请求进行回复
使用语法:sudo nmap -PE/-PP/-PM -sn 扫描IP,-sn表示无需扫描端口

使用TCP和UDP进行Nmap扫描
使用语法:sudo nmap -PS/-PA/PU[端口号] -sn 扫描IP,端口号默认为 80 端口

一个专用TCP/UDP查询的扫描器:称masscan,使用指令apt install masscan下载,使用语法masscan 扫描网段 -p端口
总结(当搬运工了)
| 扫描类型 | 示例命令 |
|---|---|
| ARP Scan ARP (ARP)扫描 | sudo nmap -PR -sn MACHINE_IP/24 |
| ICMP Echo Scan ICMP 回声扫描 | sudo nmap -PE -sn MACHINE_IP/24 |
| ICMP Timestamp Scan ICMP 时间戳扫描 | sudo nmap -PP -sn MACHINE_IP/24 |
| ICMP Address Mask Scan ICMP 地址掩码扫描 | sudo nmap -PM -sn MACHINE_IP/24 |
| TCP SYN Ping Scan TCP 协议 SYN Ping 扫描 | sudo nmap -PS22,80,443 -sn MACHINE_IP/30 |
| TCP ACK Ping Scan TCP 协议 ACK Ping 扫描 | sudo nmap -PA22,80,443 -sn MACHINE_IP/30 |
| UDP Ping Scan UDP 协议 Ping 扫描 | sudo nmap -PU53,161,162 -sn MACHINE_IP/30 |
| 选择 | 目的 |
|---|---|
-n |
无 DNS 查找 |
-R |
所有主机的反向 DNS 查找 |
-sn |
仅主机发现 |