nmap
是一个强大的网络探索和安全审计工具,它可以用来扫描网络上的主机,发现其开放的端口和服务,以及推断其操作系统和其他特性。下面是 nmap
的一些常见参数及其用途:
-
-sS: TCP SYN扫描。这是一种不完全的TCP连接,不会完成三次握手,因此更快且不易被检测。
-
-sT: TCP Connect()扫描。完成完整的三次握手,但速度较慢且容易被防火墙检测。
-
-sU: UDP扫描。用于发现开放的UDP端口。
-
-sA: TCP ACK扫描。用于检测防火墙或路由器是否过滤了某个端口。
-
-sW: TCP Window扫描。用于检测主机是否在线。
-
-sM: TCP Maimon扫描。一种特殊类型的TCP扫描,用于检测某些类型的防火墙。
-
-Pn: 跳过主机发现,假设所有主机都是在线的。这在你已经知道主机在线时很有用。
-
-p: 指定要扫描的端口。例如
-p 80,443
将只扫描80和443端口。 -
--top-ports: 只扫描最常见的端口。例如
--top-ports 100
将扫描前100个最常见的端口。 -
-O: 操作系统检测。尝试推断目标主机的操作系统。
-
-sV: 服务版本检测。尝试确定开放端口上运行的服务的版本。
-
-A: 执行更高级的扫描,包括操作系统检测、服务版本检测和脚本扫描。
-
-iL: 从文件中读取目标列表。例如,如果你有一个包含多个IP地址的文本文件,你可以使用
-iL targets.txt
来扫描文件中的所有目标。 -
--script: 执行Lua脚本。Nmap有许多内置脚本来进行更复杂的扫描。
-
-n: 不进行DNS反向解析,加快扫描速度。
-
-T: 设置扫描时间模板。
T0
到T5
代表不同的速度,T4
通常是一个平衡点。 -
-v: 显示更多详细信息。
-
-oN, -oX, -oG: 输出扫描结果到文件。分别以纯文本、XML或Grepable格式保存结果。
-
--exclude: 排除特定的IP地址或网络进行扫描。
-
--min-rate: 设置最小的包发送速率。
-
--max-retries: 设置最大重试次数。
-
--host-timeout: 设置主机超时时间。
-
--max-scan-delay: 设置最大扫描延迟。
-
--randomize-hosts: 随机扫描主机顺序。
-
--packet-trace: 显示发送和接收的每个数据包。
-
-D: 使用欺骗来隐藏扫描源。