🔍

Nmap

工具简介

Nmap(Network Mapper)是一款开源的网络探测和安全审计工具。它被设计用来快速扫描大型网络,也可以用于单个主机的扫描。Nmap使用原始IP数据包来确定网络上可用的主机、这些主机提供的服务、运行的操作系统类型、使用的防火墙类型等信息。

主要功能

主机发现

识别网络中的活跃设备

端口扫描

检测开放的端口和服务

版本检测

识别服务和应用版本

操作系统检测

确定目标系统的操作系统

基本用法

# 基本扫描
nmap 192.168.1.1

# 扫描多个目标
nmap 192.168.1.1 192.168.1.2

# 扫描IP范围
nmap 192.168.1.1-254

# 扫描整个子网
nmap 192.168.1.0/24

# 扫描特定端口
nmap -p 80,443,3306 192.168.1.1

# 扫描所有端口
nmap -p- 192.168.1.1

# 操作系统检测
nmap -O 192.168.1.1

# 服务版本检测
nmap -sV 192.168.1.1

# 全面扫描
nmap -A 192.168.1.1

常用参数

参数 说明
-sS TCP SYN扫描(默认)
-sT TCP连接扫描
-sU UDP扫描
-p 指定要扫描的端口
-O 操作系统检测
-sV 服务版本检测
-A 启用操作系统检测、版本检测、脚本扫描和traceroute
-oN 将结果保存为普通文本

使用示例

示例1:网络发现

# 快速发现子网内的主机(仅ping扫描)
nmap -sn 192.168.1.0/24

# 输出结果
nmap -sn 192.168.1.0/24 -oN hosts.txt

# 发现并扫描活跃主机
nmap -sn 192.168.1.0/24 | grep "Nmap scan report for" | cut -d" " -f5 > live-hosts.txt
nmap -sS -iL live-hosts.txt

发现局域网内的主机并进行后续扫描

示例2:Web服务器审计

# 扫描Web相关端口
nmap -p 80,443,8080,8443 192.168.1.0/24

# 版本检测和脚本扫描
nmap -sV --script=http-enum,http-headers,http-title -p 80,443 192.168.1.1

# 查找特定漏洞
nmap --script=vuln -p 80,443 192.168.1.1

# 完整Web应用扫描
nmap -sV -p 80,443 --script=http-* 192.168.1.1

检测Web服务器及其安全性

安全提示

  • 仅在获得授权的网络上使用
  • 大规模扫描可能会触发入侵检测系统警报
  • 在生产环境中使用前先测试所有扫描
  • 请注意某些扫描可能会导致服务中断
  • 减少扫描频率可降低被发现的风险