nmap作为功能强大的网络扫描工具,支持多种端口扫描模式,不同的命令参数可以适配不同的扫描需求,下面详细介绍各类常用的端口扫描命令。

nmap基础端口扫描命令
最基础的端口扫描命令不需要额外参数,直接指定目标IP即可,默认会扫描1000个常用端口,命令格式如下:
# 扫描单个目标IP的常用端口 nmap 192.168.1.100 # 扫描多个目标IP nmap 192.168.1.100 192.168.1.101 192.168.1.102 # 扫描整个网段 nmap 192.168.1.0/24
指定端口范围的扫描命令
如果需要扫描特定范围的端口,可以使用-p参数指定端口范围,具体用法如下:
# 扫描1到100号端口 nmap -p 1-100 192.168.1.100 # 扫描指定几个端口 nmap -p 80,443,3306,8080 192.168.1.100 # 扫描所有端口(1-65535) nmap -p- 192.168.1.100
常用扫描参数搭配
实际使用中通常会搭配其他参数提升扫描效率或者获取更多信息,常用参数组合如下:
- -sS:TCP SYN半开扫描,速度快且不易被目标记录,是默认扫描方式
- -sV:探测端口对应的服务版本信息
- -O:探测目标操作系统类型
- -T4:设置扫描速度等级,T0到T5递增,T4适合常规网络环境
- -A:全面扫描,包含版本探测、操作系统探测、脚本扫描等
组合使用示例:
# 快速扫描目标全端口并探测服务版本 nmap -p- -sV -T4 192.168.1.100 # 全面扫描目标主机 nmap -A 192.168.1.100
扫描结果说明
nmap扫描完成后会输出端口的状态,常见状态含义如下:
| 端口状态 | 含义说明 |
|---|---|
| open | 端口处于开放状态,有服务在监听该端口 |
| closed | 端口关闭,没有服务监听,但端口可访问 |
| filtered | 端口被防火墙等过滤,无法判断开放状态 |
| unfiltered | 端口可访问,但无法判断开放还是关闭 |
使用注意事项
端口扫描属于网络探测行为,未经授权对不属于自己的网络或主机进行扫描可能违反相关法律法规,使用前务必获得目标系统的合法授权。
另外扫描公网目标时建议控制扫描速率,避免对目标网络造成过大负载,同时部分网络环境会屏蔽nmap的扫描请求,此时可以调整扫描参数或更换扫描方式。