nmap工具笔记整理

一、Nmap 是什么?

Nmap(Network Mapper):开源网络扫描 / 探测 / 安全审计工具,被称为 "网络安全界的瑞士军刀"。

复制代码
 核心能力:
 主机发现:哪些 IP 在线
 端口扫描:哪些端口开放 / 关闭 / 过滤
 服务版本识别:端口上跑的是 Nginx/Apache/MySQL 及其版本
 操作系统识别:Windows/Linux 及大致版本
 脚本引擎 NSE:漏洞检测、弱口令、信息收集、爆破等
 防火墙 / IDS 绕过:分片、伪装、慢速扫描等
 适用场景:网络运维、渗透测试、资产测绘、应急响应。
二、安装(Kali / Windows /macOS)

1、Kali Linux(自带,直接用)

bash 复制代码
 #检测版本
 nmap -v 

2、Ubuntu/Debian

bash 复制代码
 sudo apt update
 sudo apt install nmap -y
三、基础概念:端口状态

Nmap 扫描后端口会有 6 种状态:

  1. open:端口开放,有服务监听

  2. closed:端口关闭,无服务

  3. filtered:被防火墙 / ACL 拦截,无法判断

  4. unfiltered:可访问,但无法确定开放 / 关闭(常见于 ACK 扫描)

  5. open|filtered:开放或被过滤,无法区分(UDP / 隐秘扫描常见)

  6. closed|filtered:关闭或被过滤

四、主机发现(Ping 扫描)

只找存活主机,不扫端口

1、简单网段扫描
bash 复制代码
 nmap -sn 192.168.1.0/24
 # -sn:只主机发现,不端口扫描(旧版是 -sP)
2、多目标
bash 复制代码
 nmap -sn 192.168.1.1 192.168.1.100 baidu.com
3、ip范围
bash 复制代码
 nmap -sn 192.168.1.100-200
4、不发 Ping(绕过禁 Ping 主机)
bash 复制代码
 nmap -Pn 192.168.1.1
 # -Pn:跳过主机发现,直接当主机存活扫描端口
5、常用主机发现参数

-PE:ICMP Echo(普通 Ping)

-PS:TCP SYN Ping(发 SYN 包)

-PA:TCP ACK Ping(发 ACK 包)

-PU:UDP Ping

bash 复制代码
 nmap -PE -PS 22,80 192.168.1.1
 #指定端口 22 80端口
五、端口扫描(核心)

1、默认扫描(常用 1000 端口)

复制代码
 nmap 192.168.1.1

2、指定端口 -p

bash 复制代码
 nmap -p 80 192.168.1.1          # 单个端口
 nmap -p 22,80,443 192.168.1.1   # 多个端口
 nmap -p 1-1000 192.168.1.1       # 端口范围
 nmap -p- 192.168.1.1              # 全端口 1-65535(慢)
 nmap -p U:53,T:80 192.168.1.1    # 指定 TCP/UDP 端口

3、快速扫描 -F(100 常用端口)

bash 复制代码
 nmap -F 192.168.1.1
六、扫描类型
1、TCP 连接扫描 -sT(默认,无权限时自动用这个)

完成三次握手:SYN → SYN-ACK → ACK 容易被日志记录,不隐蔽 不需要管理员权限

bash 复制代码
 nmap -sT -p 80 192.168.1.1
2、SYN 扫描 -sS(半开扫描,最常用)

只发 SYN,收到 SYN-ACK 判定开放,不回 ACK,直接发 RST 断开 隐蔽、快、不易被日志记录 需要 root / 管理员权限

bash 复制代码
 sudo nmap -sS -p 80 192.168.1.1
3、UDP 扫描 -sU

UDP 无连接,判断逻辑: 收到 ICMP 端口不可达 → 端口 closed 无响应 → open|filtered 慢,常用于 DNS (53)、SNMP (161)

bash 复制代码
 sudo nmap -sU -p 53,161 192.168.1.1
4、隐秘扫描(绕过防火墙 / IDS)

FIN 扫描 -sF 发 FIN 包;关闭端口回 RST,开放端口无响应

bash 复制代码
 sudo nmap -sF 192.168.1.1

NULL 扫描 -sN 无任何标志位;原理同上

bash 复制代码
 sudo nmap -sN 192.168.1.1

XMAS 扫描 -sX FIN+URG+PSH 置位(圣诞树包)

复制代码
 sudo nmap -sX 192.168.1.1

注意:-sF/-sN/-sX 仅对 Linux/Unix 有效;Windows 会直接丢弃异常包,全显示 filtered。

5、ACK 扫描 -sA(探测防火墙规则)

只发 ACK,用于判断防火墙是否拦截已建立连接的包 无法判断端口开放 / 关闭,只看 unfiltered/filtered

bash 复制代码
 sudo nmap -sA 192.168.1.1
七、服务版本与操作系统识别
1、服务版本 -sV
bash 复制代码
 nmap -sV 192.168.1.1
 # 强度:--version-intensity 0-9(默认7)
 nmap -sV --version-intensity 9 192.168.1.1
2、操作系统 -O
bash 复制代码
sudo nmap -O 192.168.1.1
3、综合扫描 -A(最常用)

包含:主机发现 + 端口扫描 + 版本 + 系统 + 部分脚本

bash 复制代码
 sudo nmap -A 192.168.1.1
八、NSE 脚本引擎

NSE = Nmap Scripting Engine,Lua 脚本,内置上千个。

脚本分类(常用)

  • auth:认证 / 弱口令

  • brute:暴力破解

  • vuln:漏洞检测

  • http:Web 相关

  • smb:Windows 共享 / 漏洞

dns:DNS 信息收集

1、使用脚本

bash 复制代码
 # 单个脚本
 nmap --script=http-title 192.168.1.1  # 拿网站标题
 ​
 # 多个脚本
 nmap --script=http-title,http-headers 192.168.1.1
 ​
 # 整个分类
 nmap --script vuln 192.168.1.1        # 全漏洞脚本
 ​
 # 脚本+参数
 nmap --script http-login --script-args userdb=users.txt,passdb=pass.txt 192.168.1.1

2、常用实战脚本示例

bash 复制代码
 # 1. 永恒之蓝(MS17-010)
 nmap --script smb-vuln-ms17-010 -p 445 192.168.1.1
 ​
 # 2. SMB 共享枚举
 nmap --script smb-enum-shares -p 445 192.168.1.1
 ​
 # 3. FTP 弱口令
 nmap --script ftp-brute -p 21 192.168.1.1
 ​
 # 4. MySQL 弱口令
 nmap --script mysql-brute -p 3306 192.168.1.1
 ​
 # 5. 网站目录扫描
 nmap --script http-enum -p 80 192.168.1.1
九、输出格式
bash 复制代码
 # 文本(默认)
 nmap -oN result.txt 192.168.1.1
 ​
 # XML(可导入 Metasploit/nessus)
 nmap -oX result.xml 192.168.1.1
 ​
 # JSON
 nmap -oJ result.json 192.168.1.1
 ​
 # 所有格式
 nmap -oA result 192.168.1.1
十、时序模板(扫描速度 / 规避检测)

-T0:最慢(规避 IDS,极慢)

-T1:慢速

-T2:中速(默认)

-T3:正常

-T4:快速(常用)

-T5:极速(易丢包)

bash 复制代码
 sudo nmap -sS -T4 -A 192.168.1.1
十一、防火墙 / IDS 绕过技巧

1、分片 -f:包分片,绕过部分防火墙

bash 复制代码
 sudo nmap -f 192.168.1.1

2、诱饵 -D:伪造多个源 IP,混淆溯源

bash 复制代码
 sudo nmap -D 192.168.1.2,192.168.1.3,ME 192.168.1.1
 #ME = 本机真实 IP

3、随机源端口 --source-port

bash 复制代码
 sudo nmap --source-port 53 192.168.1.1

4、慢速扫描 + 随机间隔

bash 复制代码
 sudo nmap -T0 --scan-delay 10s 192.168.1.1
补充:
bash 复制代码
 #-A = Aggressive(综合强力扫描)
 ​
 #-A  =  -sV  +  -O  +  -sC  +  路由追踪
相关推荐
一只机电自动化菜鸟8 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
你干嘛?哎哟9 小时前
4月工作笔记
笔记
tom02189 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
上海云盾-小余10 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
问心无愧051311 小时前
ctf show web入门156
笔记
2301_7807896611 小时前
手游遇到攻击为什么要用SDK游戏盾手游遇到攻击为什么要用 SDK 游戏盾?
安全·web安全·游戏·架构·kubernetes·ddos
咸甜适中11 小时前
rust语言学习笔记Trait(八)Iterator(迭代器)
笔记·学习·rust
运维行者_13 小时前
云计算连接性与互操作性
服务器·开发语言·网络·web安全·网络基础设施
ZhiqianXia13 小时前
流畅的Python笔记
笔记·python
玄米乌龙茶12313 小时前
LLM成长笔记(四):大语言模型(LLM)基础认知
人工智能·笔记·语言模型