> 网络管理 > nmap

nmap: 网络扫描与安全审计

nmap (Network Mapper) 是一个强大的开源工具,用于网络发现和安全审计。它提供主机发现、端口扫描、操作系统检测、服务版本检测等多种功能,帮助用户了解网络基础设施并识别潜在的安全漏洞。

概述

nmap 是网络管理员和安全专家探索网络和审计安全问题的必备工具。它支持多种扫描技术,并可通过脚本引擎扩展功能。

主要功能

  • 主机发现 (识别网络上的活动主机)
  • 端口扫描 (检查开放的端口和服务)
  • 操作系统 (OS) 检测
  • 服务版本检测
  • 绕过防火墙和过滤器
  • 通过 Nmap 脚本引擎 (NSE) 扩展功能

主要选项

nmap 提供非常广泛的选项,这里主要介绍主要的扫描类型和输出相关的选项。

扫描类型

目标指定及其他

生成的命令:

请尝试组合命令。

描述:

`nmap` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

使用 nmap 的各种扫描功能的示例。

基本端口扫描

nmap scanme.nmap.org

对目标主机最常见的 1000 个端口进行 SYN 扫描。

特定端口扫描

nmap -p 80,443 scanme.nmap.org

仅扫描目标主机的 80 (HTTP) 和 443 (HTTPS) 端口。

操作系统和版本检测

nmap -A scanme.nmap.org

检测目标主机的操作系统和开放端口的服务版本。

扫描整个子网

nmap 192.168.1.0/24

扫描指定子网 (例如: 192.168.1.0/24) 内的所有活动主机。

将扫描结果保存到文件

nmap -sS -oN results.txt -oX results.xml scanme.nmap.org

将扫描结果分别保存到纯文本文件和 XML 文件。

安装

nmap 通常不包含在大多数 Linux 发行版的默认安装中,需要通过包管理器进行安装。

Debian/Ubuntu

sudo apt update && sudo apt install nmap

使用 APT 包管理器安装 nmap。

CentOS/RHEL/Fedora

sudo yum install nmap
# 或者
sudo dnf install nmap

使用 YUM 或 DNF 包管理器安装 nmap。

Arch Linux

sudo pacman -S nmap

使用 Pacman 包管理器安装 nmap。

技巧与注意事项

使用 nmap 时的一些有用技巧和需要注意的事项。

道德使用

nmap 是一个强大的网络扫描工具,因此必须仅在您拥有或获得授权的网络上使用。未经授权的扫描可能被视为非法行为。

  • 始终获得扫描目标的明确许可。
  • 未经授权扫描公共网络或他人系统可能导致法律问题。

绕过和检测防火墙

nmap 可以使用各种技术来绕过防火墙或检测防火墙的存在。可以使用 `-f` (分片数据包)、`--data-length` (添加随机数据)、`--badsum` (发送校验和错误的数据包) 等选项。

  • `-Pn` 选项跳过 ping 扫描,即使防火墙阻止 ICMP 响应也能继续扫描。
  • 可以使用 `-T<0-5>` 选项调整扫描速度,以避免被 IDS/IPS 系统检测 (0: Paranoid, 5: Insane)。

Nmap 脚本引擎 (NSE)

NSE 是一套强大的脚本集合,用于扩展 nmap 的功能。它可以执行漏洞检测、后门检测、信息收集等多种任务。

  • 使用 `--script <脚本名称>` 或 `--script <类别>` 选项。
  • 例如: `nmap --script vuln <target>` (通用漏洞扫描)
  • 例如: `nmap --script http-enum <target>` (Web 服务器目录枚举)

相同类别命令