Nmap 工具使用教程
2026/7/31 16:34:08 网站建设 项目流程

一、Nmap基础介绍

简介

Nmap全称Network Mapper(网络映射器),1996年由Fyodor开发,开源免费网络探测&安全审计工具,跨平台(Windows/Linux/macOS)。

核心原理:发送原始IP报文,探测目标主机、端口、服务版本、操作系统,支持防火墙/IDS绕过、NSE脚本扩展。

下载地址

官网:https://nmap.org/download.html

  • Windows:exe一键安装包/zip绿色版
  • Linux:rpm包、源码编译包;Kali系统预装Nmap

四大核心功能 + 附加功能

核心功能
  1. 主机发现:判断目标机器是否开机在线
  2. 端口扫描:识别TCP/UDP端口开放状态
  3. 服务版本侦测:识别端口运行程序、版本号
  4. 操作系统侦测:通过协议栈指纹识别目标系统
附加功能
  1. 防火墙/IDS规避扫描
  2. NSE脚本漏洞扫描、自动化渗透

基础命令语法

nmap [选项/参数] 扫描目标
  • 多选项、参数之间用空格分隔;
  • 简写可连写:-p80,规范写法推荐空格分隔-p 80

最简扫描命令

  1. 默认基础扫描(仅端口探测)
nmap 192.168.40.182

  1. 综合全面扫描(推荐实战)
nmap -A -T4 -v 192.168.40.182
  • -A:综合扫描(系统识别+版本探测+路由追踪+脚本)
  • -T4:快速扫描时序
  • -v:显示详细扫描过程


二、主机发现(判断目标是否存活)

作用

模拟ping发包,探测局域网/公网主机在线状态,不扫描端口

探测数据包类型

ICMP报文、TCP SYN/ACK、SCTP报文等十多种探测方式。

常用参数表

参数

功能说明

-sn / -sP

Ping扫描,仅探测存活主机,跳过端口扫描

-Pn

不进行存活探测,直接扫描端口(防火墙屏蔽ping时使用)

-PS 端口

TCP SYN ping探测(默认443)

-PA 端口

TCP ACK ping探测

-PE

ICMP Echo ping(标准ping)

-PP

ICMP 时间戳探测

--traceroute

路由追踪,查看数据包转发节点

--packet-trace

打印收发所有数据包,抓包分析

-n

禁止DNS反向解析,提升扫描速度

实战示例

示例1:局域网扫描存活主机(/24网段)
# 两种写法等效 nmap -sn 192.168.40.1-254 nmap -sn 192.168.40.0/24

局域网内依靠ARP包探测,输出在线主机MAC地址。

示例2:跨网段单主机存活探测
nmap -sn 192.168.50.5

跨网段会发送4种探测包:ICMP Echo、TCP SYN(443)、TCP ACK(80)、ICMP时间戳,任一回复即判定主机在线。

示例3:打印完整收发数据包
nmap -sn --packet-trace 192.168.30.1


三、端口扫描(核心功能)

端口6种状态

  1. open:端口开放,存在服务
  2. closed:端口关闭
  3. filtered:防火墙/IDS拦截,无法判断状态
  4. unfiltered:未被拦截,但无法确定是否开放
  5. open|filtered:开放或被屏蔽,无法区分
  6. closed|filtered:关闭或被屏蔽

端口扫描模式参数

参数

扫描类型

特点

-p

指定扫描端口

-p 1-1024,3306,8080-p T:80,U:53区分TCP/UDP

-sT

TCP Connect全连接扫描

完整三次握手,日志易被防火墙记录

-sS

TCP SYN半连接扫描(默认)

只发SYN,收到SYN+ACK后发RST断开,隐蔽性更强

-sA

TCP ACK扫描

仅判断端口是否被防火墙拦截,无法识别开放端口

-sF/-sN/-sX

隐蔽FIN/NULL/Xmas扫描

Linux系统适用,Windows会全部返回RST,识别失效

-sU

UDP端口扫描

扫描DNS(53)、SNMP(161)等UDP服务

实战示例

示例1:指定多段端口扫描
nmap -p 1-1024,1433,3306,3389 192.168.40.178

示例2:同时扫描TCP+UDP端口
nmap -p T:139,U:53 -sS -sU 192.168.40.178

示例3:SYN半连接隐蔽扫描
nmap -sS 192.168.40.182

原理:发送SYN→目标回SYN+ACK(端口开放)→Nmap直接发送RST断开,不完成完整握手。

示例4:全连接扫描(无root权限可用)
nmap -sT 192.168.40.182
示例5:防火墙探测(ACK扫描)
nmap -sA 192.168.40.182

收到RST代表端口未被防火墙屏蔽,仅用于判断防火墙规则。


四、服务版本侦测(识别端口运行程序)

作用

获取开放端口上运行的软件、版本号,用于匹配对应漏洞。

底层数据库:/usr/share/nmap/nmap-services-probes

常用参数

参数

功能

-sV

开启服务版本探测(最常用)

--version-light

轻量快速版本扫描

--version-all

完整深度版本扫描

--version-trace

打印版本探测全过程

实战示例

示例1:基础版本扫描
nmap -sV 192.168.40.180

输出服务名称、版本:nginx 1.8.1、MySQL、OpenSSH等。

示例2:追踪版本探测发包详情
nmap -sV --version-trace 192.168.40.180


五、操作系统识别(指纹识别目标系统)

识别原理

通过TCP/IP协议栈特征比对内置指纹库nmap-os-db(2600+系统指纹),判断依据:

  1. 默认TTL值:Windows=128、Linux=64、Cisco设备=255
  2. TCP窗口大小、DF不分段标志、FIN报文响应、ISN序列号等特征

常用参数

参数

功能

-O

开启操作系统识别

-A

综合扫描,自动包含-O、-sV、traceroute

--osscan-guess

模糊猜测系统(指纹匹配度低时使用)

实战示例

示例1:单独识别操作系统
nmap -O 192.168.40.182

输出系统:Windows 7 / Server 2008 / Windows 8.1。

示例2:综合扫描(推荐,一键全量信息)
nmap -A -T4 192.168.40.182

同时输出:存活主机、端口、服务版本、系统、路由、脚本扫描结果。


六、防火墙/IDS 规避扫描技术

核心参数汇总

参数

绕过手段

-T0~T5

时序控制,减慢扫描速度规避IDS告警

-D RND:3

诱饵IP欺骗,生成3个随机虚假IP混合扫描

-f

IP数据包分段,拆分数据包绕过深度检测

--mtu 16

指定数据包偏移(必须8倍数)

--source-port 53

伪造源端口(53/80等白名单端口)

--spoof-mac

伪造MAC地址

实战示例

示例1:时序速度控制
  • -T3默认速度;-T4快速扫描;-T1/T0慢速隐蔽扫描(防IDS)
nmap -T3 192.168.40.178 nmap -T4 192.168.40.178

示例2:诱饵IP隐藏真实扫描源
nmap -D RND:3 192.168.40.182

目标防火墙日志会同时记录本机IP+3个随机虚假IP,无法定位真实扫描者。


七、NSE脚本基础(拓展漏洞扫描)

介绍

Nmap Script Engine,Lua脚本编写,内置大量漏洞、信息搜集、爆破脚本,默认路径:/usr/share/nmap/scripts/

基础使用命令

  1. 单脚本扫描
nmap --script 脚本名 目标IP
  1. 分类脚本扫描(漏洞/暴力/信息搜集)
nmap --script vuln 192.168.40.182 # 漏洞探测脚本 nmap --script auth 192.168.40.182 # 认证爆破脚本
  1. -A参数会自动加载基础信息类NSE脚本扫描

常用场景脚本

  • smb-os-discovery:Windows主机SMB信息搜集
  • ms17-010:永恒之蓝漏洞检测
  • ftp-brute:FTP弱口令爆破
  • dns-zone-transfer:DNS域传送漏洞探测

八、高频实战万能命令汇总

  1. 局域网存活主机探测
nmap -sn 192.168.1.0/24
  1. 快速综合扫描(端口+服务+系统+路由)
nmap -A -T4 -v 192.168.1.100
  1. 隐蔽半连接扫描+版本探测
nmap -sS -sV -T4 192.168.1.100
  1. 防火墙屏蔽ping,强制扫描端口
nmap -Pn -A 192.168.1.100
  1. 漏洞批量扫描
nmap --script vuln -T4 192.168.1.100
  1. 诱饵IP绕过IDS扫描
nmap -D RND:2 -sS 192.168.1.100

九、重要注意事项

  1. 法律提醒:仅可扫描自己拥有授权的靶机/服务器,未经许可扫描公网设备违反《网络安全法》;
  2. SYN扫描-sS、数据包分段等高级功能需要root管理员权限;
  3. -T5极速扫描会丢失大量结果,仅适合内网快速探测;
  4. UDP扫描速度极慢,若无特殊需求可省略-sU
  5. 扫描公网目标建议搭配-T1/-T2慢速模式,避免触发WAF封禁IP。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询