Nmap 网络扫描完整使用教程
Nmap(Network Mapper)是最经典的网络探测和安全审计工具,由 Gordon Lyon 开发并持续维护至今。它可以快速扫描大型网络,发现存活主机、开放端口、运行服务和操作系统信息。无论是安全评估还是日常运维,Nmap 都是必备工具。本文将全面介绍如何在搬瓦工 VPS 上安装和使用 Nmap。
一、安装 Nmap
Ubuntu/Debian
apt update
apt install nmap -y
CentOS
yum install nmap -y
验证安装
nmap --version
二、端口扫描基础
2.1 基本扫描
# 扫描目标的常用 1000 个端口
nmap 192.168.1.1
# 扫描指定端口
nmap -p 80,443,8080 192.168.1.1
# 扫描端口范围
nmap -p 1-65535 192.168.1.1
# 扫描所有端口
nmap -p- 192.168.1.1
2.2 扫描类型
# TCP SYN 扫描(默认,需要 root 权限,最常用)
nmap -sS 192.168.1.1
# TCP 全连接扫描(不需要 root 权限)
nmap -sT 192.168.1.1
# UDP 扫描
nmap -sU 192.168.1.1
# TCP SYN + UDP 组合扫描
nmap -sS -sU 192.168.1.1
# TCP ACK 扫描(用于探测防火墙规则)
nmap -sA 192.168.1.1
2.3 主机发现
# Ping 扫描(只发现存活主机,不扫描端口)
nmap -sn 192.168.1.0/24
# 跳过主机发现(直接扫描端口)
nmap -Pn 192.168.1.1
# ARP 扫描(局域网内最有效)
nmap -PR 192.168.1.0/24
三、服务和版本检测
# 检测服务版本
nmap -sV 192.168.1.1
# 增强版本检测强度(0-9,默认 7)
nmap -sV --version-intensity 9 192.168.1.1
# 轻量版本检测
nmap -sV --version-light 192.168.1.1
服务版本检测可以识别端口上运行的具体服务和版本号,这对于发现已知漏洞非常重要。
四、操作系统检测
# 检测操作系统
nmap -O 192.168.1.1
# 综合检测(版本 + 操作系统 + 脚本 + traceroute)
nmap -A 192.168.1.1
# 限制操作系统检测尝试次数
nmap -O --max-os-tries 1 192.168.1.1
五、NSE 脚本引擎
NSE(Nmap Scripting Engine)是 Nmap 最强大的功能之一,内置了数百个脚本用于各种检测任务。
5.1 脚本分类
# 使用默认脚本集
nmap -sC 192.168.1.1
# 使用指定脚本
nmap --script=http-title 192.168.1.1
# 使用脚本类别
nmap --script=vuln 192.168.1.1
# 使用多个脚本
nmap --script=http-title,http-headers,http-methods 192.168.1.1
5.2 常用脚本示例
# HTTP 相关
nmap --script=http-enum -p 80,443 192.168.1.1
nmap --script=http-vuln* -p 80,443 192.168.1.1
# SSL/TLS 检测
nmap --script=ssl-enum-ciphers -p 443 192.168.1.1
nmap --script=ssl-cert -p 443 192.168.1.1
nmap --script=ssl-heartbleed -p 443 192.168.1.1
# SSH 相关
nmap --script=ssh-auth-methods -p 22 192.168.1.1
nmap --script=ssh2-enum-algos -p 22 192.168.1.1
# DNS 相关
nmap --script=dns-brute example.com
# SMB 相关
nmap --script=smb-vuln* -p 445 192.168.1.1
5.3 漏洞扫描脚本
# 运行所有漏洞检测脚本
nmap --script=vuln 192.168.1.1
# 检测特定漏洞
nmap --script=smb-vuln-ms17-010 -p 445 192.168.1.1
六、扫描速度控制
# 速度模板(T0 最慢 - T5 最快)
nmap -T4 192.168.1.1
# 自定义速率参数
nmap --min-rate 1000 192.168.1.1
nmap --max-rate 5000 192.168.1.1
# 设置并行探测数
nmap --min-parallelism 10 --max-parallelism 100 192.168.1.1
# 设置超时时间
nmap --host-timeout 300s 192.168.1.1
在搬瓦工 VPS 上扫描时,推荐使用 -T4,兼顾速度和准确性。对于大规模扫描可以使用 -T5,但可能会遗漏部分结果。
七、输出格式
# 标准输出保存到文件
nmap -oN scan_result.txt 192.168.1.1
# XML 格式输出
nmap -oX scan_result.xml 192.168.1.1
# Grepable 格式输出
nmap -oG scan_result.gnmap 192.168.1.1
# 同时输出三种格式
nmap -oA scan_result 192.168.1.1
XML 输出可以导入到其他安全工具中进行进一步分析。
八、实用扫描示例
8.1 快速全面扫描
nmap -sS -sV -O -A -T4 -p- 192.168.1.1
8.2 安全审计扫描
nmap -sS -sV --script=vuln,auth,default -p 1-65535 -T4 -oA audit_result 192.168.1.1
8.3 Web 服务器扫描
nmap -sV --script=http-enum,http-headers,http-methods,http-title -p 80,443,8080,8443 192.168.1.1
8.4 网段存活主机发现
nmap -sn -PE -PA21,22,25,80,443 192.168.1.0/24 -oG alive_hosts.gnmap
8.5 扫描自己的搬瓦工 VPS
# 检查自己 VPS 的暴露面
nmap -sS -sV -O --script=default,vuln -T4 -p- YOUR_VPS_IP -oA my_vps_scan
定期扫描自己的 VPS 可以发现意外开放的端口和潜在的安全风险。
九、防火墙绕过技巧
# 使用分片包
nmap -f 192.168.1.1
# 指定 MTU 大小
nmap --mtu 24 192.168.1.1
# 使用诱饵 IP
nmap -D RND:5 192.168.1.1
# 指定源端口
nmap --source-port 53 192.168.1.1
# 使用空闲扫描
nmap -sI zombie_host 192.168.1.1
注意:这些技巧仅用于授权的安全测试,未经授权使用可能违法。
十、注意事项
- 合法授权:只扫描自己拥有或已获授权的目标,未授权扫描可能触犯法律。
- 扫描频率:大规模扫描可能触发目标的安全告警甚至封禁你的 IP。
- 结合使用:Nmap 适合发现阶段,发现目标后可以使用 Nuclei 或 OWASP ZAP 进行深入检测。
- 定期扫描:建议每月对自己的 VPS 进行一次全面扫描,及时发现新增的暴露面。
总结
Nmap 是网络安全领域的瑞士军刀,掌握 Nmap 的使用对于 VPS 安全管理至关重要。通过端口扫描、服务检测和 NSE 脚本,可以全面了解服务器的暴露面并发现潜在风险。配合 Masscan 高速端口扫描可以实现更高效的大规模发现。选购搬瓦工 VPS 请查看全部方案,使用优惠码 NODESEEK2026 可享受折扣。如有问题可通过搬瓦工官网提交工单。