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) 时使用。速度极慢,但隐蔽性极高。
相关推荐
Python_Study20252 小时前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
蚂蚁吃大象6663 小时前
vmware虚拟机-网络模型
网络
Caitlin_lee_3 小时前
计算机网络期末复习SCAU-第三章
网络·计算机网络
野生技术架构师4 小时前
原来可以搭建一个HTTP服务
网络·网络协议·http
奇树谦4 小时前
FastDDS路由可达的跨网段通信支持说明
网络
tianyuanwo4 小时前
深入解析CentOS 8网络配置:NetworkManager DNS管理机制与网卡类型深度剖析
linux·网络·centos
DX_水位流量监测4 小时前
无人机测流之雷达流速仪监测技术分析
大数据·网络·人工智能·数据分析·自动化·无人机
Xの哲學5 小时前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
testpassportcn5 小时前
Fortinet FCSS_SDW_AR-7.4 認證介紹|Fortinet Secure SD-WAN 高級路由專家考試
网络·学习·改行学it
盛世宏博北京6 小时前
《可复制推广:智慧档案馆 “十防” 安全防护体系建设指南》
网络·人工智能·web安全·智慧档案