nmap -T4 -n -sS -p 21
命令是一个用于网络探测和端口扫描的经典 Nmap 命令。让我们分解每个选项的含义:
nmap
: 这是调用 Nmap 扫描工具本身。-T4
: 时序模板 (Timing Template)这个选项控制扫描的速度和激进程度。Nmap 提供了预定义的模板(T0 到 T5)。
-T4
表示 “积极” (Aggressive) 扫描。它比默认的
-T3
更快,会:更大幅度地减少等待响应的时间 (
--max-rtt-timeout
)。增加并行扫描的数量 (
--max-parallelism
)。可能忽略一些响应延迟较长的主机。
优点:扫描速度显著加快。
缺点:准确性可能略有下降(可能遗漏响应慢的端口或主机),更容易被目标网络的安全设备(如 IDS/IPS)检测到,并且可能给目标网络带来更大的负载。
-n
: 禁用 DNS 解析 (No DNS Resolution)默认情况下,Nmap 在发现活动主机后,会尝试对这些主机的 IP 地址进行反向 DNS 查询,以获取其主机名。
-n
选项告诉 Nmap 跳过这个反向 DNS 查找步骤。优点:扫描速度更快(无需等待 DNS 查询),在目标网络 DNS 响应慢或不稳定时特别有用。对于纯内部 IP 地址(如 RFC1918 私有地址),也避免了不必要的查询。
缺点:扫描结果中只显示 IP 地址,没有主机名。
-sS
: TCP SYN 扫描 (TCP SYN Scan)这是 Nmap 默认且最常用的扫描技术(如果用户有足够权限)。
工作原理:
扫描器向目标端口发送一个 TCP SYN 包(握手的第一步)。
如果端口开放,目标会回应一个 SYN/ACK 包(握手的第二步)。
扫描器收到 SYN/ACK 后,不会完成握手(不发送 ACK),而是直接发送一个 RST 包重置连接。
如果端口关闭,目标会回应一个 RST 包。
如果端口被防火墙过滤,扫描器通常收不到任何回复(或收到 ICMP 错误)。
优点:
速度快,效率高。
隐蔽性较好(有时被称为“半开放扫描”),因为完整的 TCP 连接从未建立。很多较基础的日志系统不会记录这种连接尝试。
可以明确区分
open
,closed
,filtered
状态。
缺点:需要 root/administrator 权限(在 Unix/Linux 上需要
sudo
或 root 用户身份,在 Windows 上通常需要管理员权限)才能构造原始数据包。
-p 21
: 指定端口 (Port Specification)这个选项告诉 Nmap 只扫描指定的端口号。
-p 21
表示只扫描 TCP 端口 21。端口 21 是 FTP (File Transfer Protocol) 服务的标准控制端口。
总结整个命令的作用:
以较快的速度 (-T4
) 对指定的目标 IP 地址进行扫描。它只扫描 TCP 端口 21 (-p 21
)。扫描使用 TCP SYN 技术 (-sS
),这是一种快速且相对隐蔽的方式。扫描过程中不会尝试获取目标的主机名 (-n
),只显示 IP 地址。目的是快速、高效地检测目标主机上的 FTP 服务 (端口 21) 是否开放。
1