《Nmap 基础命令;端口扫描参数》(nmap扫描端口命令范围)

一、Nmap 基础命令

Nmap(Network Mapper)是网络探测和安全审计的核心工具,支持主机发现、端口扫描、版本检测、操作系统识别等功能。以下是常用命令示例:

1. 扫描单个目标

nmap 192.168.1.1    # 扫描单个 IP 的开放端口和服务
nmap example.com    # 扫描域名对应的主机(自动解析 IP)

2. 扫描网段

nmap 192.168.1.0/24   # 扫描整个 C 类网段(256 个 IP)
nmap 10.0.0.1-50      # 扫描 IP 范围(10.0.0.1 到 10.0.0.50)

3. 主机发现(存活探测)

nmap -sn 192.168.1.0/24  # 仅 ping 扫描,不进行端口扫描
nmap -PS22,80 192.168.1.1  # 通过 TCP SYN 探测 22/80 端口判断主机存活

4. 端口扫描

nmap -p 22,80,443 192.168.1.1  # 扫描指定端口(22/80/443)
nmap -p- 192.168.1.1         # 扫描全部 65535 个端口(耗时较长)
nmap -p 1-1024 192.168.1.1   # 扫描常用端口(1-1024)

5. 服务版本检测

nmap -sV 192.168.1.1  # 探测开放端口的软件版本(如 "Apache 2.4.41")
nmap -sV --version-intensity 9 192.168.1.1  # 提高版本检测强度(0-9,默认7)

6. 操作系统识别

nmap -O 192.168.1.1   # 推测目标操作系统类型(如 "Linux 3.x")
nmap -A 192.168.1.1   # 综合扫描(版本检测+OS识别+脚本扫描)

7. 输出结果保存

nmap -oN output.txt 192.168.1.1  # 保存纯文本结果
nmap -oX output.xml 192.168.1.1  # 保存 XML 格式(便于自动化解析)
nmap -oG output.gnmap 192.168.1.1  # 保存 Grepable 格式(适合过滤)

二、端口扫描参数详解

Nmap 通过不同的扫描技术实现灵活的端口探测,以下是核心参数及其用途:

1. 扫描类型(Scan Type)

参数

扫描类型

描述

适用场景

-sS

TCP SYN 扫描(半开放扫描)

发送 SYN 包,不完成三次握手(隐蔽性强,效率高)。

默认扫描方式,适合快速探测开放端口。

-sT

TCP 全连接扫描

完成三次握手(可靠性高,但易被防火墙检测)。

需要高可靠性时使用。

-sU

UDP 扫描

扫描 UDP 端口(如 DNS 53、SNMP 161)。

检测 UDP 服务(如 VoIP、DNS)。

-sY

SCTP 扫描

扫描 SCTP 端口(流控制传输协议,用于电信领域)。

特殊场景(如电信设备扫描)。

-sN/sF/sX

NULL/FIN/Xmas 扫描

发送特殊标志位的 TCP 包(用于绕过防火墙)。

绕过简单防火墙规则。

-sA

ACK 扫描

发送 ACK 包探测防火墙规则(判断端口是否被过滤)。

分析防火墙策略。

-sW

窗口扫描

通过 TCP 窗口大小判断端口状态(如关闭/开放)。

辅助判断端口状态。

-sZ

Cookie-Echo 扫描(SCTP)

SCTP 协议的 SYN Cookie 测试(检测防火墙)。

特殊安全研究场景。

2. 端口指定(Port Specification)

参数

功能

示例

-p <port>

指定单个或多个端口(逗号分隔)

-p 22,80,443

-p-

扫描全部 65535 个端口

-p-

-p <range>

扫描端口范围(如 1-1024)

-p 1-1000

-p U:<port>

扫描 UDP 端口(需与 -sU 结合使用)

-sU -p U:53

-p T:<port>

扫描 TCP 端口(默认类型,可省略)

-p T:22-443

3. 扫描速度与性能(Timing)

参数

功能

示例

-T<0-5>

设置扫描速度(0 最慢,5 最快,默认 T3)。

-T4(中等速度)

--max-rtt-timeout <ms>

设置最大往返时间(RTT)超时(毫秒)。

--max-rtt-timeout 200

--min-hostgroup <size>

并行扫描的最小主机数(提高速度)。

--min-hostgroup 50

--max-retries <times>

设置重试次数(减少误判)。

--max-retries 2

4. 输出与过滤(Output & Filtering)

参数

功能

示例

-oG

生成 Grepable 格式(便于过滤关键词)。

-oG output.gnmap

-v

增加详细输出(-vv 更详细)。

-v -v

--open

仅显示开放端口(过滤关闭/过滤端口)。

nmap -p 1-1024 --open 192.168.1.1

--exclude <host>

排除指定主机或网段。

--exclude 192.168.1.1

--excludefile <file>

从文件中排除多个目标。

--excludefile exclude_ips.txt


三、实战案例

案例 1:快速扫描内网存活主机与开放端口

nmap -sn -T4 192.168.1.0/24  # 主机发现(仅 ping)
nmap -sS -p 22,80,443 -T4 192.168.1.0/24  # 扫描开放端口

案例 2:UDP 服务探测(DNS/SNMP)

nmap -sU -p 53,161 192.168.1.1  # 扫描 DNS 和 SNMP 服务

案例 3:绕过防火墙检测(NULL 扫描)

nmap -sN -p 80 192.168.1.1  # 发送无标志位的 TCP 包(探测防火墙规则)

案例 4:输出结果过滤与保存

nmap -sS -p 22,80 192.168.1.1 -oG - | grep "open"  # 过滤 Grepable 格式中的开放端口
nmap -sS -p 22,80 192.168.1.1 -oX scan.xml     # 保存 XML 格式

四、注意事项

  1. 合法授权:仅扫描授权范围内的目标,避免触犯法律。
  2. 防火墙干扰:扫描可能触发安全告警,建议在测试环境中验证。
  3. 扫描频率:避免高频扫描导致目标封禁(可通过 -T 参数控制速度)。
  4. 更新脚本库:使用 nmap --script-updatedb 更新 NSE 脚本(增强扫描能力)。

通过掌握以上命令和参数,您可以高效完成网络资产发现、漏洞探测等任务。建议结合 Metasploit、Wireshark 等工具联动使用,提升渗透测试效率!

原文链接:,转发请注明来源!