本文目录导读:

使用nmap扫描目标主机开放端口,最常用、最基础的命令是:
nmap <目标IP或域名>
这条命令默认会对目标最常见的 1000个端口 进行TCP SYN扫描。
更精确的常用扫描方法
扫描指定端口范围
nmap -p 1-65535 目标IP
- 扫描全部65535个端口,适合深度测试。
扫描常见端口列表
nmap -p 80,443,22,3389 目标IP
- 只扫描你关心的几个端口。
快速扫描(Top端口)
nmap --top-ports 100 目标IP
- 只扫描最常用的100个端口,速度很快。
不同扫描类型对比
| 扫描类型 | 命令参数 | 特点 |
|---|---|---|
| TCP SYN半开扫描(默认) | nmap -sS 目标 |
速度快,较隐蔽,不需要完整TCP连接 |
| TCP Connect扫描 | nmap -sT 目标 |
完整三次握手,容易被日志记录 |
| UDP扫描 | nmap -sU 目标 |
用于发现UDP端口(如DNS、SNMP) |
| Ping扫描(发现在线主机) | nmap -sn 网段 |
只检查主机是否在线,不扫端口 |
实际示例
# 扫描192.168.1.1的常见1000个端口(默认) nmap 192.168.1.1 # 扫描目标全部TCP端口 nmap -p- 192.168.1.1 # 扫描目标常见UDP端口 nmap -sU --top-ports 50 192.168.1.1 # 批量扫描一个C类网段的80端口 nmap -p 80 192.168.1.0/24
输出结果解读
nmap扫描典型输出:
Starting Nmap 7.94 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3389/tcp filtered ms-wbt-server # filtered表示被防火墙过滤
- open:端口开放,服务正在监听
- closed:端口未开放(通常显示的不多)
- filtered:防火墙/包过滤阻止了探测
实用进阶命令
| 用途 | 命令 |
|---|---|
| 获取服务版本 | nmap -sV 目标 |
| 操作系统识别 | nmap -O 目标 |
| 更详细的输出 | nmap -v 目标 |
| 输出到文件 | nmap -oN result.txt 目标 |
| 全面扫描(版本+OS+脚本) | nmap -A 目标 |
注意事项(务必遵守)
- 仅扫描自己拥有或获得授权的目标,未经授权扫描他人网络可能违反法律。
- 某些防火墙/IDS会检测并阻断nmap扫描。
- 使用
-T4或-T5可加快扫描速度,但可能影响结果准确性。 - 如果只有icmp不可达,可以加
-Pn跳过Ping检测,直接扫描(适用于主机禁Ping的情况)。
如果你需要更具体的扫描场景(如绕过防火墙、指定网卡、特定协议等),可以告诉我你的环境,我可以给出更精确的命令。
标签: 网络探测
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。