nmap使用手册

Nmap使用手册

安装与基础环境

各平台安装

  • Kali Linux :已经装好,直接使用 nmap 命令

  • Ubuntu/Debian

    Bash 复制代码
    sudo apt update && sudo apt install nmap
  • CentOS/RHEL

    Bash 复制代码
    sudo yum install nmap
  • Windows :官网下载安装包,必须勾选 Npcap 驱动(抓包核心)

  • macOS

    Bash 复制代码
    brew install nmap

权限说明

  • 高级功能(-sS SYN扫描、-O 系统识别、-sV 深度版本探测)必须管理员/root权限

  • Windows:以管理员身份运行 CMD/PowerShell

  • Linux/macOS:加 sudo

核心语法与目标指定

基础语法

Bash 复制代码
nmap [扫描类型] [选项] [目标]

目标指定方式

  • 单个IP:192.168.1.1

  • 网段:192.168.1.0/24192.168.1.1-50

  • 域名:baidu.com

  • 多个目标:192.168.1.1 192.168.1.10 baidu.com

  • 从文件读取:-iL targets.txt(一行一个目标)

  • 排除目标:--exclude 192.168.1.5--excludefile exclude.txt

主机发现(存活扫描)

用途:判断网段内哪些IP在线,避免无效扫描

参数 作用 示例
-sn Ping扫描(无端口扫描) nmap -sn 192.168.1.0/24
-PR ARP扫描(局域网最准 nmap -PR 192.168.1.0/24
-PE ICMP Echo请求(标准Ping) nmap -PE 192.168.1.0/24
-PS/PA/PU TCP SYN/ACK、UDP Ping(绕过禁ICMP) nmap -PS80,443 192.168.1.0/24
-n 禁用DNS解析(提速) nmap -n -sn 192.168.1.0/24

端口扫描(核心功能)

端口状态(Nmap定义)

  • open:开放(有服务监听)

  • closed:关闭(无服务)

  • filtered:被防火墙/IDS屏蔽

  • unfiltered:未屏蔽,但需进一步确认

  • open|filtered:开放或被屏蔽

  • closed|filtered:关闭或被屏蔽

TCP 核心扫描类型:-sS 与 -sT 详解

一句话总结
  • -sS = SYN 半开扫描**:只完成 TCP 三次握手前两步,不建完整连接,**隐蔽、快、需 root

  • -sT = Connect 全连接扫描**:完成完整三次握手,**稳定、无需 root、易被日志记录

详细对比表
项目 -sS (SYN 半开扫描) -sT (Connect 全连接扫描)
全称 TCP SYN Scan TCP Connect Scan
握手过程 SYN → SYN-ACK → RST 不建立完整连接 SYN → SYN-ACK → ACK 完整建立连接
权限要求 必须 root / 管理员 普通用户即可
速度 较慢
隐蔽性 高,不易被日志记录 低,目标系统会记录连接
防火墙/IDS 更难被简单规则检测 容易被检测、拦截
可靠性 稍弱(可能丢包) 非常稳定、准确
默认规则 root 下默认扫描方式 普通用户下自动 fallback 为 -sT
适用场景 渗透测试、外网扫描、隐蔽扫描 内网信任环境、普通权限、稳定扫描
工作原理
  • -sS:发送 SYN → 收到 SYN+ACK 判定端口开放 → 直接发送 RST 断开,无完整连接,应用层无日志

  • -sT:完成完整三次握手建立连接,判定端口状态后关闭,系统日志会记录该连接

使用示例
Bash 复制代码
# SYN 半开扫描(需 sudo)
sudo nmap -sS 192.168.1.1

# TCP 全连接扫描(普通权限即可)
nmap -sT 192.168.1.1

其他扫描类型

参数 名称 特点 适用场景
-sA ACK扫描 探测防火墙规则 识别防火墙策略
-sF/-sN/-sX FIN/Null/Xmas扫描 发送异常TCP包 绕过简单防火墙/IDS
-sU UDP扫描 速度慢,无连接机制 DNS、SNMP 等UDP服务
-sO IP协议扫描 探测支持的IP协议 网络层信息收集

端口指定

参数 作用 示例
-p <端口> 指定端口/范围 -p 80-p 1-1000-p U:53,T:80
-p- 扫描全部65535端口 nmap -p- 192.168.1.1
-F 快速扫描(常用100端口) nmap -F 192.168.1.1
--top-ports <n> 扫描最常用n个端口 nmap --top-ports 100 192.168.1.1

服务与版本探测(-sV)

用途:识别端口对应服务、版本、组件(如 Apache 2.4.49、OpenSSH 8.2)

Bash 复制代码
sudo nmap -sV 192.168.1.1
  • --version-intensity 0-9:探测强度

  • --version-all:全量探测

  • --version-trace:调试输出

操作系统探测(-O)

Bash 复制代码
sudo nmap -O 192.168.1.1
  • --osscan-limit:仅对有开放端口的主机探测

  • --osscan-guess:激进猜测操作系统

全能扫描(-A)

-A = -sV + -O + 脚本扫描 + 路由跟踪

Bash 复制代码
sudo nmap -A -T4 192.168.1.1

扫描速度与时序(-T)

0~5级,数字越大速度越快,越易被检测

  • -T0/-T1:极慢,用于躲避IDS

  • -T2:轻柔扫描,不占用带宽

  • -T3:默认模式

  • -T4推荐常用,速度与稳定性平衡

  • -T5:疯狂扫描,易丢包、易被拦截

示例:

Bash 复制代码
sudo nmap -sS -T4 192.168.1.0/24

防火墙/IDS规避

参数 作用 示例
-f 数据包分片 nmap -f -sS target
-D 诱饵IP隐藏真实地址 nmap -D 1.1.1.1,ME target
--source-port 指定源端口 nmap --source-port 53 target
--data-length 附加随机数据 nmap --data-length 50 target

NSE 脚本引擎

常用脚本分类

  • default(-sC):默认安全脚本

  • safe:安全无害

  • vuln:漏洞探测

  • auth:弱口令爆破

  • discovery:信息收集

常用命令

Bash 复制代码
# 默认脚本扫描
nmap -sC 192.168.1.1

# 漏洞扫描
nmap --script vuln 192.168.1.1

# SSH 弱口令尝试
nmap --script ssh-brute 192.168.1.1

输出格式

参数 格式 用途
-oN 普通文本 直接阅读
-oX XML 导入漏洞管理工具
-oG Grep格式 命令行过滤
-oA 全格式输出 归档保存
示例:
Bash 复制代码
sudo nmap -sS -sV -oA result 192.168.1.1

实战常用命令

Bash 复制代码
# 存活主机扫描
nmap -sn 192.168.1.0/24

# 标准 SYN 快速端口扫描
sudo nmap -sS -T4 192.168.1.1

# 全端口+服务版本
sudo nmap -sS -sV -p- -T4 192.168.1.1

# 全面信息收集
sudo nmap -A -T4 192.168.1.1

# 漏洞探测
nmap --script vuln 192.168.1.1
相关推荐
EasyGBS2 小时前
从“看得见”到“看得安全”:国密GB35114国标GB28181平台EasyGBS双标协同重构安防视频安全体系
网络·安全·重构
CDN3602 小时前
高防服务器无法远程连接?端口、防火墙与安全组排查
运维·服务器·安全
薛定猫AI2 小时前
【深度解析】Claude Mythos 与新一代安全向大模型:从漏洞挖掘到长时自主代理的实战路径
安全
wanhengidc2 小时前
云手机 热血传奇游戏挂机
服务器·网络·安全·游戏·智能手机
航Hang*3 小时前
网络安全技术基础——第3章:网络攻击技术
运维·网络·笔记·安全·web安全·php
一名优秀的码农3 小时前
vulhub系列-64-Cereal: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
一名优秀的码农3 小时前
vulhub系列-66-Hms?: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
OPHKVPS3 小时前
React2Shell漏洞攻击中的新型恶意软件EtherRAT详解
网络·安全·web安全
ZHENGZJM3 小时前
认证增强:图形验证码、邮箱验证与账户安全
安全·react.js·go·gin