Nmap(Network Mapper)是一个用于网络发现和安全审计的开源工具。以下是一些常用的Nmap命令及其解释:
1. 基本扫描
nmap 目标IP
解释: 对目标IP地址进行基本扫描,检测常见端口的状态(开放、关闭或过滤)。
2. 扫描多个目标
nmap 目标1IP 目标2IP
解释: 可以同时扫描多个IP地址或域名。
3. 扫描一个IP范围
nmap 192.168.1.0/24
解释: 扫描整个子网,常用于检查局域网中的所有设备。
4. 扫描特定端口
nmap -p 80,443 目标IP
解释: 扫描目标IP的指定端口(如80和443端口)。
5. 扫描所有端口
nmap -p- 目标IP
解释: 扫描目标IP上的所有端口(从1到65535)。
6. 使用快速扫描(TCP SYN扫描)
nmap -sS 目标IP
解释: 使用TCP SYN扫描(半开扫描),这种扫描速度快且不容易被检测到。
7. 使用UDP扫描
nmap -sU 目标IP
解释: 执行UDP扫描,通常用于检测DNS(53端口)、SNMP(161端口)等服务。
8. 服务版本检测
nmap -sV 目标IP
解释: 通过检测服务版本来识别正在运行的具体服务(如Apache、nginx等)。
9. 操作系统检测
nmap -O 目标IP
解释: 尝试检测目标主机的操作系统类型和版本。
10. 扫描并显示操作系统和版本
nmap -A 目标IP
解释: 启用操作系统检测、版本检测、脚本扫描和路由追踪。
11. 进行Ping扫描
nmap -sn 目标IP
解释: 仅进行Ping扫描,不扫描端口。用于检测哪些主机在线。
12. 使用快速扫描
nmap -T4 目标IP
解释: 使用更高的速度(-T4),扫描速度比默认速度快,适合在时间有限的情况下使用。
13. 只显示开放端口
nmap --open 目标IP
解释: 只显示开放的端口,过滤掉关闭或过滤的端口。
14. 扫描无主机发现
nmap -Pn 目标IP
解释: 跳过Ping探测,直接扫描端口。适用于目标主机禁用了ICMP(Ping)请求时使用。
15. 扫描特定端口范围
nmap -p 1-1000 目标IP
解释: 扫描从1到1000的端口范围,适合快速发现常见端口。
16. 执行脚本扫描(NSE)
nmap --script http-enum 目标IP
解释: 使用Nmap脚本引擎(NSE),进行特定的服务枚举(如HTTP服务)。
17. 保存扫描结果到文件
nmap -oN result.txt 目标IP
解释: 将扫描结果保存到文本文件result.txt中,格式为标准输出格式。
18. XML格式保存结果
nmap -oX result.xml 目标IP
解释: 将扫描结果以XML格式保存,方便导入其他工具进行分析。
19. 逃避防火墙和IDS检测
nmap -D RND:10 目标IP
解释: 使用10个随机的IP地址进行掩护,以绕过防火墙或IDS(入侵检测系统)。
20. 使用分段扫描
nmap -f 目标IP
解释: 使用分段(fragmented)扫描,拆分为更小的包,以绕过某些防火墙检测。
总结
Nmap提供了丰富的扫描选项,可以用于端口扫描、服务检测、操作系统识别等多种场景。建议在实际使用时根据需求选择适当的扫描参数,尤其是在测试外网时要注意合法性和隐私保护。