概述
最流行的端口扫描和网络发现工具之一,功能强大,适用于各种操作系统。
如何开始
如果是Linux系统,例如Ubuntu
系统,直接使用apt
安装即可,但是可能要换源
1 | sudo apt -y install nmap |
基本使用方法
- 扫描单个主机:nmap 目标IP地址
- 扫描特定端口:nmap -p 端口号 目标IP地址,例如扫描80和443端口:
nmap -p 80,443 目标IP地址
- 扫描特定网段:nmap 网段地址,例如扫描192.168.1.0/24网段:
nmap 192.168.1.0/24
- Ping扫描:
nmap -sn 目标IP地址或网段
,只进行主机发现,不进行端口扫描。
1 | root@localhost:~# nmap -v |
参数选项
以下是Nmap各个选项的简单总结:
目标指定
-iL <file>
:从文件中读取目标。-iR <num>
:随机选择目标。--exclude <hosts>
:排除指定目标。--excludefile <file>
:从文件中读取排除目标。主机发现
-sL
:仅列出目标,不扫描。-sn
:仅进行主机发现,不扫描端口。-Pn
:跳过主机发现,假设所有主机在线。-PS/PA/PU/PY
:使用TCP/UDP等特定协议发现主机。-PE/PP/PM
:使用ICMP发现主机。-PO
:使用IP协议发现主机。-n/-R
:禁用/启用DNS解析。--dns-servers
:指定DNS服务器。--system-dns
:使用系统DNS。--traceroute
:追踪到目标的路径。扫描技术
-sS
:TCP SYN扫描。-sT
:TCP Connect扫描。-sA
:TCP ACK扫描。-sW
:TCP Window扫描。-sM
:TCP Maimon扫描。-sU
:UDP扫描。-sN/F/X
:TCP Null/FIN/Xmas扫描。--scanflags
:自定义TCP扫描标志。-sI
:Idle扫描。-sY/Z
:SCTP扫描。-sO
:IP协议扫描。-b:
FTP bounce扫描。端口指定
-p
:指定要扫描的端口范围。--exclude-ports
:排除指定端口。-F
:快速模式,扫描较少端口。-r
:顺序扫描端口。--top-ports
:扫描最常见的端口。--port-ratio
:扫描比指定比率更常见的端口。服务检测
-sV
:检测服务和版本。--version-intensity
:调整检测强度。--version-light
:轻量级检测。--version-all
:全面检测。--version-trace
:显示检测过程。脚本扫描
-sC
:运行默认脚本。--script
:指定脚本。--script-args
:为脚本提供参数。--script-args-file
:从文件读取脚本参数。--script-trace
:显示脚本扫描过程。--script-updatedb
:更新脚本数据库。--script-help
:显示脚本帮助信息。操作系统检测
-O
:启用操作系统检测。--osscan-limit
:仅对有希望的目标检测。--osscan-guess
:更积极地猜测操作系统。时间和性能
-T<0-5>
:设置扫描速度。--min/max-hostgroup
:设置并行扫描组大小。--min/max-parallelism
:设置并行探测数量。--min/max/initial-rtt-timeout
:设置探测往返时间。--max-retries
:限制重传次数。--host-timeout
:放弃目标的时间。--scan-delay
:调整探测延迟。--min/max-rate
:设置发送速率。防火墙/IDS规避
-f
:分片包。--mtu
:设置MTU。-D
:使用诱饵主机。-S
:伪装源地址。-e
:指定接口。-g
:指定源端口。--proxies
:使用代理。--data
:附加自定义负载。--data-string
:附加ASCII字符串。--data-length
:附加随机数据。--ip-options
:设置IP选项。--ttl
:设置TTL。--spoof-mac
:伪装MAC地址。--badsum
:发送错误校验和。输出
-oN/X/S/G
:以普通/XML/脚本/Grepable格式输出。-oA
:同时输出三种格式。-v
:增加详细程度。-d
:增加调试信息。--reason
:显示端口状态原因。--open
:仅显示开放端口。--packet-trace
:显示所有发送和接收的包。--iflist
:打印主机接口和路由。--append-output
:追加到输出文件。--resume
:恢复中断的扫描。--noninteractive
:禁用交互。--stylesheet
:指定XSL样式表。--webxml
:使用Nmap官网的样式表。--no-stylesheet
:不关联XSL样式表。其他
-6
:启用IPv6扫描。-A
:启用OS检测、版本检测、脚本扫描和追踪。--datadir
:指定数据文件位置。--send-eth/--send-ip
:使用以太网帧或IP包发送。--privileged
:假设用户有完全权限。--unprivileged
:假设用户没有原始套接字权限。-V
:显示版本号。-h
:显示帮助信息。
参数内容详情
1 | root@localhost:~# nmap --help |