Nmap网络扫描工具详细使用教程

目录

[Nmap 主要功能](#Nmap 主要功能)

网络存活主机发现 (ARP Ping Scan)

综合信息收集扫描 (Stealth SYN + Service + OS)

全端口扫描 (Full Port Scan)

[NSE 漏洞脚本扫描](#NSE 漏洞脚本扫描)

[SMB 信息枚举](#SMB 信息枚举)

[HTTP 服务深度枚举](#HTTP 服务深度枚举)

[SSH 安全审计](#SSH 安全审计)

隐蔽扫描与防火墙规避


Nmap 主要功能

Nmap 主要有以下几个核心功能,这些功能帮助网络管理员和安全专业人员深入了解网络状态和安全态势:

  • 主机发现:识别网络中有哪些主机在线(存活)。
  • 端口扫描:检测目标主机上哪些端口是开放的、关闭的或被过滤的。
  • 服务及版本探测:识别开放端口上运行的服务及其具体的版本信息。
  • 操作系统检测:推断目标主机所使用的操作系统类型和版本。
  • 脚本引擎(NSE):使用内置的 Lua 脚本进行更高级的检测,如漏洞扫描、漏洞利用等。

网络存活主机发现 (ARP Ping Scan)

复制代码
sudo nmap -sn -PR 192.168.1.0/24
  • -sn: 禁用端口扫描,只进行主机发现。
  • -PR: 使用 ARP 请求进行发现。在本地局域网中,ARP 比 ICMP Ping 更可靠、更快,且无法被防火墙阻止。
  • 使用场景:在取得内网访问权限后,快速、准确地绘制本地网段的存活主机地图。

综合信息收集扫描 (Stealth SYN + Service + OS)

复制代码
sudo nmap -sS -sV -O --top-ports 1000 -T4 192.168.1.105
  • -sS: TCP SYN (半开放) 扫描。发送 SYN 包,收到 SYN/ACK 则认为端口开放,但不完成三次握手,速度快且隐蔽。
  • -sV: 版本探测。向开放端口发送特定探测报文,根据响应指纹识别服务及其版本号。
  • -O: 操作系统检测。通过分析 TCP/IP 协议栈指纹来猜测目标操作系统。
  • --top-ports 1000: 扫描 Nmap 数据库中概率最高的 1000 个端口,在速度和信息收集量之间取得最佳平衡。
  • -T4: 设置时序模板为 4 (Aggressive),加快扫描速度。
  • 使用场景:对目标进行初步但全面的侦查,获取端口、服务、版本和操作系统等核心信息,为后续攻击提供方向。

全端口扫描 (Full Port Scan)

复制代码
sudo nmap -sS -p- --min-rate 5000 -T4 -Pn 192.168.1.105
  • -p-: 扫描所有 65535 个端口。
  • --min-rate 5000: 指示 Nmap 每秒至少发送 5000 个包。这是极重要的优化参数,可大幅提升扫描速度。
  • -Pn: 跳过主机发现,将所有主机视为在线。在对单一目标进行全端口扫描时使用,避免发现阶段浪费时间。
  • 使用场景:在需要彻底排查目标开放端口时使用,常用于攻击面较小的关键服务器,以发现隐藏的、非标准的管理端口或后门。

NSE 漏洞脚本扫描

复制代码
nmap -sV --script vuln -p 80,443,445 192.168.1.105
  • --script vuln: 调用所有分类为 "vuln" (漏洞) 的 NSE 脚本。这些脚本会检查目标是否存在已知的公开漏洞。
  • -p 80,443,445: 限制扫描端口,只对最可能存在漏洞的服务进行检测,提高效率。
  • 使用场景:快速对目标进行漏洞筛查,寻找容易利用的弱点 (low-hanging fruit)。常用于时间紧迫的评估或大规模资产初筛。

SMB 信息枚举

复制代码
nmap --script smb-enum-shares,smb-enum-users,smb-os-discovery -p 445 192.168.1.105
  • --script smb-enum-shares: 枚举可用的 SMB 共享文件夹。
  • --script smb-enum-users: 尝试枚举系统上的用户账户。
  • --script smb-os-discovery: 获取通过 SMB 披露的操作系统信息。
  • 使用场景:在发现开放 445 端口后,对 Windows 或 Samba 服务器进行深度信息收集,为横向移动或权限提升做准备。

HTTP 服务深度枚举

复制代码
nmap -p 80,443,8080,8443 --script http-enum,http-headers,http-security-headers -sV 目标IP
  • --script http-enum: 基于字典枚举 Web 目录和文件(如 /admin, /phpmyadmin)。
  • --script http-headers: 获取 HTTP 响应头,分析服务器、框架、Cookie 等信息。
  • --script http-security-headers: 检查缺失的安全头(如 CSP, HSTS, X-Frame-Options)。
  • 使用场景:对 Web 服务器进行快速配置审计和敏感路径发现,寻找攻击入口。

SSH 安全审计

复制代码
nmap -p 22 --script ssh2-enum-algos,ssh-hostkey,ssh-auth-methods 目标IP
  • ssh2-enum-algos: 枚举 SSH 支持的加密算法、MAC 算法和压缩算法。用于发现弱算法。
  • ssh-hostkey: 获取 SSH 服务器的主机密钥(公钥)及其指纹。
  • ssh-auth-methods: 列出服务器支持的认证方法(如 publickey, password, keyboard-interactive)。
  • 使用场景:评估 SSH 服务配置安全性,为暴力破解或算法降级攻击提供信息。

隐蔽扫描与防火墙规避

复制代码
sudo nmap -sF -T2 --scan-delay 500ms -f --data-length 16 -D RND:10,ME -g 53 目标IP
  • -sF: FIN 扫描。发送只有 FIN 标志位的 TCP 包。关闭的端口会回复 RST,开放的端口则忽略。可能绕过无状态防火墙。
  • -T2 --scan-delay 500ms: 使用慢速扫描 (T2/Polite) 并手动添加延迟,大幅降低流量速率,避免触发 IDS 阈值。
  • -f: 对探测包进行 IP 分片,使包过滤器更难检测。
  • --data-length 16: 在包中添加随机长度的净荷,扰乱流量特征分析。
  • -D RND:10,ME: 使用 10 个随机诱骗 IP,并用 ME 代表真实地址,淹没在噪音中。
  • -g 53: 指定源端口为 53 (DNS)。防火墙可能对来自此端口的流量策略更宽松。
  • 使用场景 :在需要高度隐蔽、绕过严格的防火墙或入侵检测系统 (IDS) 时使用。速度极慢,但隐蔽性极高。
相关推荐
河北瑾航科技2 小时前
广西水资源遥测终端 广西水利遥测终端 广西用水监测遥测终端 河北瑾航科技遥测终端机HBJH-B01说明书
网络·科技·水文遥测终端机·遥测终端机·广西水资源遥测终端机·广西水利遥测终端·广西用水终端
羑悻的小杀马特2 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
愚戏师3 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max3 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
赖small强4 小时前
【Linux 网络基础】libwebsockets HTTPS 服务端实现机制详解
linux·网络·https·tls·libwebsockets
大白的编程日记.4 小时前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql
shmexon6 小时前
上海兆越亮相无锡新能源盛会,以硬核通信科技赋能“能碳未来”
网络·人工智能
Lay_鑫辰7 小时前
西门子诊断-状态和错误位(“轴”工艺对象 V1...3)
服务器·网络·单片机·嵌入式硬件·自动化
车载测试工程师8 小时前
CAPL学习-IP API函数-2
网络·学习·tcp/ip·capl·canoe
Xの哲學8 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算