Nmap是一款强大的网络探测工具,主要用于进行网络服务发现、漏洞扫描以及主机信息收集。本文档汇总了nmap命令的不同用途和选项,帮助读者更好地理解和掌握这一工具。
**主机存活探测**是nmap的基础,它通过多种方式来确认目标主机是否在线并可通信。主要有以下几种方法:
1. **无ping扫描(nmap-P0)**:用于检测主机是否回应ICMP ping请求,适用于防火墙禁止ping的情况。Nmap提供-n选项来跳过这个步骤,直接进行后续的探测。
2. **ARP协议探测(nmap-PR)**:使用ARP协议探测主机的存在,即使防火墙屏蔽了ICMP包。
3. **TCP半连接探测(nmap-sS-Pn)**:通过发送TCP SYN包,如果收到SYN+ACK响应,则表明端口可能开放。-Pn选项确保不执行主机发现过程。
4. **特定端口扫描(nmap-sS-Pn-p<端口范围>)**:直接扫描指定的端口范围,如nmap-sS-Pn-p1-65535或针对特定业务常用端口。
**端口服务扫描**更为深入,nmap能够识别开放的服务及其版本:
1. **TCP扫描**:-sT选项进行完整的三次握手扫描,效率较低;-sS则使用SYN扫描,速度快但可能不完全确定连接状态。
2. **UDP扫描**:-sU选项专门针对UDP协议,寻找开放的服务。
3. **Socket扫描**:御剑端口扫描工具提供全端口扫描、跳过主机发现扫描以及操作系统和服务版本检测等功能。
Nmap常用参数的详细介绍:
- **-Pn**:跳过主机发现,直接进行端口扫描,适合避开可能的主机过滤。
- **-O**:操作系统识别,试图确定目标主机的操作系统类型。
- **-A**:同时使用操作系统检测和版本检测,提供更全面的信息。
- **-sO**:IP协议扫描,识别支持的协议类型。
- **-sS**:半开TCP SYN扫描,快速且不会建立完整连接。
- **-sT**:完整TCP连接扫描,效率较低。
- **-sU**:UDP服务扫描,查找基于UDP的服务。
- **-sV**:同时识别服务和版本,增强识别准确性。
- **-p**:指定要扫描的端口,支持范围。
- **-pU**:指定UDP和TCP端口分别扫描。
- **-F**:快速扫描,只检查常见端口。
- **-r**:改变端口扫描顺序,通常先扫描常用端口。
- **-6**:启用IPv6扫描,适用于双栈环境。
了解这些nmap命令和参数,可以帮助网络管理员和安全专家高效地进行网络安全评估和漏洞挖掘,提升网络防御能力。在实际操作中,根据需求灵活运用这些功能,可以揭示隐藏在网络中的宝贵信息。