0%

TryHackMe-NmapLiveHostDiscovery

知识点记录

  此文用于记录学习 TryHackMe 网站中 Room:Nmap Live Host Discovery 获得的知识点。

网段、子网与子网掩码

  网段:一个网段由一个网络地址和一个子网掩码组成;网段的主要作用是将IP地址空间划分成多个小块,分配给多个链接同一路由的主机;网段将其管理的多个主机打包,以便他们在网络中作为一个整体进行管理,以下是网段的分类

  子网:子网是对网段的细分,如果是做一次类比,网段就好比电脑的 1TB 存储空间,而子网就等同于对这一大块硬盘分为 C/D/E 区

  子网掩码:子网掩码通过和精确的 IP 作用,找到其链接的网段或子网,其工作原理及示例展示如下

1
2
3
4
5
6
7
# 比如我现在拥有C类网段 192.168.1.0 => 共可管理256个IP
1、不使用子网划分,即子网为网段本事:192.168.1.0/24
/x:该子网的子网掩码为 111……11(x位)000……00(32-x)
2、使用子网划分,比如分为:192.168.1.0/25、192.168.1.128/25
192.168.1.0/25 => 192.168.1.0~192.168.1.127
192.168.1.128/25 => 192.168.1.128~192.168.1.255
# 子网掩码的工作原理:子网掩码与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
2
3
4
list:MACHINE_IP scanme.nmap.org example.com  =>  扫描3个IP
range:10.11.12.15-20 => 扫描6个IP
subnet:MACHINE_IP/30 => 扫描4个IP
file:将扫描的IP以列表形式存储为.txt文件,需使用 nmap -iL filename

  附加项的作用:列举提到的两项如下

附件选项 作用
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 仅主机发现