Nmap 使用介绍

1. 概述

Nmap(Network Mapper)是一款开源的网络扫描和安全审计工具。它主要用于发现网络主机、检测开放端口、识别操作系统及服务等。本文档详细说明了 Nmap 的使用方法,确保用户能够有效、安全地进行网络扫描。


2. 先决条件

  • 已安装 Nmap(适用于 Linux、Windows 和 macOS)。
  • 具备基本的网络和安全知识。
  • 具备适当的权限(某些扫描模式需要 root 或管理员权限)。

2.1 安装 Nmap

Linux(Debian/Ubuntu)

1
sudo apt update && sudo apt install nmap -y

Linux(CentOS/RHEL)

1
sudo yum install nmap -y

macOS

1
brew install nmap

Windows

下载并安装 Nmap:官方下载页面


3. 操作流程

3.1 目标主机发现

1
nmap -sn 192.168.1.0/24
  • -sn:仅检测在线主机(不扫描端口)。

3.2 端口扫描

1
nmap -p 22,80,443 192.168.1.100
  • -p:指定端口(可输入单个端口或端口范围,如 1-65535)。

常见公认端口(0-1023)

端口号 协议 说明
20 TCP FTP 数据传输
21 TCP FTP 控制连接
22 TCP SSH 远程登录
23 TCP Telnet 远程登录(不安全)
25 TCP SMTP(发送邮件)
53 TCP/UDP DNS(域名解析)
67 UDP DHCP 服务器端
68 UDP DHCP 客户端
69 UDP TFTP(简单文件传输)
80 TCP HTTP(网页访问)
443 TCP HTTPS(加密网页访问)

常见注册端口(1024-49151)

端口号 协议 说明
1080 TCP SOCKS 代理
1433 TCP Microsoft SQL Server
1521 TCP Oracle 数据库
3306 TCP MySQL 数据库
3389 TCP RDP(远程桌面协议)
5900 TCP VNC 远程控制
8080 TCP HTTP 备用端口
9200 TCP Elasticsearch

IPMI 相关端口

端口号 协议 说明
623 UDP IPMI RMCP(远程管理控制协议)
664 UDP IPMI RMCP+(增强版远程管理控制协议)
22 TCP IPMI 远程 SSH 访问(基于 BMC)
80 TCP IPMI Web 界面(HTTP)
443 TCP IPMI Web 界面(HTTPS)

如果需要检查 IPMI 端口是否开放,可使用:

1
nmap -p 623,664,22,80,443 <BMC_IP>

或者:

1
nc -zv <BMC_IP> 623

3.3 服务与版本检测

1
nmap -sV 192.168.1.100
  • -sV:探测端口对应的服务及版本信息。

3.4 操作系统检测(需要 root 权限)

1
sudo nmap -O 192.168.1.100
  • -O:尝试识别远程主机操作系统。

3.5 全端口扫描(可能耗时较长)

1
nmap -p- 192.168.1.100
  • -p-:扫描所有 65535 个端口。

3.6 运行默认安全脚本扫描

1
nmap -sC 192.168.1.100
  • -sC:运行默认 Nmap 脚本扫描,检测常见安全问题。

3.7 执行深度漏洞扫描(需要 root 权限)

1
sudo nmap --script=vuln 192.168.1.100
  • --script=vuln:运行漏洞扫描脚本。

3.8 结果导出

导出为文本文件

1
nmap -oN scan_results.txt 192.168.1.100

导出为 XML 文件

1
nmap -oX scan_results.xml 192.168.1.100

4. 参考资料