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) 时使用。速度极慢,但隐蔽性极高。
相关推荐
PyHaVolask8 小时前
渗透测试入门:从网络抓包到Web安全基础
网络·web安全·http协议·网络抓包
Reicher9 小时前
Wireshark的介绍和抓包
网络·测试工具·wireshark
gs801409 小时前
在 openEuler 上排查 Docker 同桥网络不通:从“全线超时”到定位容器没启动
网络·docker·容器
数据猿视觉9 小时前
海外代理IP平台推荐,跨境运营稳定不掉线代理IP软件
网络·网络协议·tcp/ip
jingfeng51410 小时前
浏览器发起http,到得到网页的整个过程
网络·网络协议·http
愈努力俞幸运10 小时前
socket编程 netstat 大小端 rpc 协程 io yield
网络·python·网络协议·rpc
王伯爵10 小时前
5G开户时切片配置参数详解
服务器·网络·5g
Ronin30511 小时前
【Linux网络】Socket编程:UDP网络编程实现DictServer
linux·服务器·网络·udp
AAAAA924012 小时前
5G RedCap模组应用领域分析
网络·物联网·5g·信息与通信
爱研究的小梁12 小时前
乾元通渠道商中标民勤县应急指挥能力提升项目
网络