知识点记录
此文用于记录学习 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 |
仅主机发现 |