[工具使用] nmap工具笔记整理

475 0
Honkers 2026-5-1 18:29:02 来自手机 | 显示全部楼层 |阅读模式
一、Nmap 是什么?

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

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

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

  1.  #检测版本
  2.  nmap -v
复制代码

2、Ubuntu/Debian

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

-PE:ICMP Echo(普通 Ping)

-PS:TCP SYN Ping(发 SYN 包)

-PA:TCP ACK Ping(发 ACK 包)

-PU:UDP Ping

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

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

  1.  nmap 192.168.1.1
复制代码

2、指定端口 -p

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

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

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

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

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

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

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

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

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

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

  1.  sudo nmap -sF 192.168.1.1
复制代码

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

  1.  sudo nmap -sN 192.168.1.1
复制代码

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

  1.  sudo nmap -sX 192.168.1.1
复制代码

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

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

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

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

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

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

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

脚本分类(常用)

  • auth:认证 / 弱口令

  • brute:暴力破解

  • vuln:漏洞检测

  • http:Web 相关

  • smb:Windows 共享 / 漏洞

dns:DNS 信息收集

1、使用脚本

  1.  # 单个脚本
  2.  nmap --script=http-title 192.168.1.1  # 拿网站标题
  3.  ​
  4.  # 多个脚本
  5.  nmap --script=http-title,http-headers 192.168.1.1
  6.  ​
  7.  # 整个分类
  8.  nmap --script vuln 192.168.1.1        # 全漏洞脚本
  9.  ​
  10.  # 脚本+参数
  11.  nmap --script http-login --script-args userdb=users.txt,passdb=pass.txt 192.168.1.1
复制代码

2、常用实战脚本示例

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

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

-T1:慢速

-T2:中速(默认)

-T3:正常

-T4:快速(常用)

-T5:极速(易丢包)

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

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

  1.  sudo nmap -f 192.168.1.1
复制代码

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

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

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

  1.  sudo nmap --source-port 53 192.168.1.1
复制代码

4、慢速扫描 + 随机间隔

  1.  sudo nmap -T0 --scan-delay 10s 192.168.1.1
复制代码
补充:
  1.  #-A = Aggressive(综合强力扫描)
  2.  ​
  3.  #-A = -sV + -O + -sC + 路由追踪
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行