24

我需要以最快的方式使用 Nmap 在同一扫描中检索 TCP 和 UDP 端口。我会尝试更好地解释它。如果我使用最常用的命令:

nmap 192.168.1.1

它只检索 TCP 端口,而且速度非常快。

如果我使用以下命令:

nmap -sU 192.168.1.1

它只检索 UDP 端口,而且速度非常快(虽然不是那么快但仍然如此)。

我的问题:是否有两个命令的组合?我试过了:

nmap -sU -sS 192.168.1.1
nmap -sU -sT 192.168.1.1

但是他们非常慢。

我正在使用 Nmap 5.51,有什么建议吗?

4

2 回答 2

17

如您所见,UDP 扫描很慢,因为打开/过滤的端口通常不响应,因此 nmap 必须超时然后重新传输,而关闭的端口将发送 ICMP 端口不可达错误,系统通常会限制速率。

您可以添加 -T 开关以提高扫描速度,但这可能会降低准确性并使其更易于检测。

-T<0-5>:设置时序模板(越高越快)

-PN 将关闭 ping 扫描元素

您还可以并行扫描更多主机,

或使用 -p 开关或 --top-ports 减少您正在扫描的端口数量,这将扫描 nmap-services 文件中的最高比率端口。

如果您正在扫描多个主机,则可以使用 --host-timeout 跳过慢速主机。

关于 TCP,-sS 应该比 -sT 快。

于 2012-05-10T10:54:59.660 回答
8

你没有说你的扫描有多慢,但我认为你会从这个--min-parallelism选项中受益,它会调整未完成探测的最小数量。

我看到-sT -sU像这样的扫描时间(与裸扫描相比)减少了 70%。请注意,可能设置--min-parallelism得太高,以致主机(或网络)无法同时缓冲这么多查询。

[mpenning@Hotcoffee]$ sudo nmap --min-parallelism 100 -sT -sU localhost

Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-10 01:07 CDT
Interesting ports on localhost (127.0.0.1):
Not shown: 1978 closed ports
PORT     STATE         SERVICE
22/tcp   open          ssh
25/tcp   open          smtp
49/tcp   open          tacacs
53/tcp   open          domain
80/tcp   open          http
111/tcp  open          rpcbind
631/tcp  open          ipp
2003/tcp open          finger
2004/tcp open          mailbox
3389/tcp open          ms-term-serv
5901/tcp open          vnc-1
5910/tcp open          unknown
6001/tcp open          X11:1
7002/tcp open          afs3-prserver
53/udp   open|filtered domain
69/udp   open|filtered tftp
111/udp  open|filtered rpcbind
123/udp  open|filtered ntp
161/udp  open|filtered snmp
631/udp  open|filtered ipp
1812/udp open|filtered radius
1813/udp open|filtered radacct

Nmap done: 1 IP address (1 host up) scanned in 1.54 seconds
[mpenning@Hotcoffee]$
于 2012-05-10T11:11:16.157 回答