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
Windows
下载并安装 Nmap:官方下载页面
3. 操作流程
3.1 目标主机发现
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>
|
或者:
3.3 服务与版本检测
3.4 操作系统检测(需要 root 权限)
1
| sudo nmap -O 192.168.1.100
|
3.5 全端口扫描(可能耗时较长)
3.6 运行默认安全脚本扫描
-sC:运行默认 Nmap 脚本扫描,检测常见安全问题。
3.7 执行深度漏洞扫描(需要 root 权限)
1
| sudo nmap --script=vuln 192.168.1.100
|
3.8 结果导出
导出为文本文件
1
| nmap -oN scan_results.txt 192.168.1.100
|
导出为 XML 文件
1
| nmap -oX scan_results.xml 192.168.1.100
|
4. 参考资料