Nmap 是渗透测试人员和系统/网络管理员中非常流行的工具。我们已经准备好提供不同的 nmap 教程和备忘单,但 TCP 和 UDP 端口扫描是扫描的重要部分。我们将在本教程中详细介绍。
开始端口扫描
没有任何端口扫描参数的最简单用法就是提供目标。目标可以是单个 IP 或主机名或多个目标。在本例中,我们将192.168.1.1
默认使用最常见的 1000 个端口扫描 IP 地址。
$ nmap 192.168.1.1
开始端口扫描
TCP同步扫描
我们知道 TCP 连接是通过 3 次握手发起的。三向握手的第一步是发送Syn
TCP 数据包。我们只能向Syn
目标发送数据包来扫描和获取远程端口的状态,而无需建立连接。我们将-sS
为此使用。此选项需要管理员或 root 权限
$ nmap -sS 192.168.1.1
TCP同步扫描
TCP 确认扫描
TCP Ack 扫描类似于 Syn 扫描,但也会将 ACK 数据包发送到目标系统。我们将-sA
为此使用选项。
$ nmap -sA 192.168.1.1
UDP 端口扫描
Nmap 默认扫描 TCP 端口,不扫描任何 UDP 端口。实际上扫描 UDP 端口可能不会产生任何可靠的结果,但在某些情况下它可能是有益的。我们可以使用-sU
选项扫描 UDP 端口。
$ nmap -sU 192.168.1.1
端口扫描范围
我们可以为 TCP 端口扫描指定一个端口范围。我们将-p
通过用 分隔来使用选项和端口号范围-
。例如0-100
将从 0 到 100 扫描 TCP 端口。
$ nmap -p 0-100 192.168.1.1
端口扫描范围
多端口扫描
在上一步中,我们已将目标端口范围指定为批量。我们可以选择为单次扫描一一指定多个端口。我们将-p
再次使用option 但我们将用,
逗号分隔端口。在本例中,我们将扫描远程 TCP 端口 22,80,443 和 8080 。
$ nmap -p 22,80,443,8080 192.168.1.1
多端口扫描
最常用的端口扫描
Nmap 有一个端口使用频率数据库。我们可以使用这个数据库来限制我们对最常见端口的扫描。我们将使用--top-ports
最常见端口数的选项。在本例中,我们将扫描最常见的333
端口。
nmap --top-ports 333 192.168.1.1
快速端口扫描
我们可以使用-T
选项指定 TCP 端口扫描速度。有 5 个级别,默认级别或速度为3
。我们可以5
用于最快的扫描。请注意,这可能会中断网络或远程目标。
$ nmap -T 5 192.168.1.1
较慢的端口扫描
我们还可以使用1
较慢的端口扫描,这将使我们的扫描对于 IPS 或 IDS 等安全系统不可见。
$ nmap -T 1 192.168.1.1