【问题标题】:How to retrieve both TCP and UDP ports with Nmap? [closed]如何使用 Nmap 检索 TCP 和 UDP 端口? [关闭]
【发布时间】:2012-05-18 21:14:20
【问题描述】:

我需要用 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,有什么建议吗?

【问题讨论】:

  • 这个问题更适合Super User
  • 您提出了一个很好的观点,即 TCP 和 UDP 扫描在单独执行时速度很快,但在同一命令中组合时速度很慢。
  • 使用组合 -sTU 例如 nmap -sTU 192.168.1.1 您可以使用时序参数使扫描更快 -T5 例如。您还可以将 -PE 用于较少数量的探测。 nmap -sTU -T5 -PE 192.168.1.1

标签: tcp udp nmap port-scanning


【解决方案1】:

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

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

-T:设置计时模板(越高越快)

-PN 将关闭 ping 扫描元素

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

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

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

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

HTH!

【讨论】:

  • 是的,实际上我正在扫描整个网络,192.168.1.1 只是一个示例。无论如何,您的解决方案仍然必须结合 -sS 和 -sU :( 我的意思是这很奇怪,因为这两个命令分别非常快。
  • 是的,您必须将它们结合起来才能获得两种协议。我通常运行类似“sudo nmap -sSU -P0 -vv -top-ports 500 192.168.1.1”之类的东西 - 并使用 -T4 相应地调整端口并修改并行设置。
  • $ sudo time nmap -sSU -Pn 10.92.5.5 开始 Nmap 5.61TEST5…。 Nmap 完成:1 个 IP 地址(1 个主机启动)在 404.18 秒内扫描 404.19 真实 0.21 个用户 0.56 sys $ sudo time nmap -sU -Pn 10.92.5.5 启动 Nmap 5.61TEST5 Nmap 完成:1 个 IP.. . 202.19 seconds 202.20 real 0.17 user 0.27 sys $ sudo time nmap -sS -Pn 10.92.5.5 10.92.5.5 上的所有 1000 个扫描端口都被过滤 Nmap done: 1 IP 地址(1 host up)扫描进来202.29 秒 202.29 真实 0.17 用户 0.28 系统
  • 友情提醒,在现代 nmap 版本中 -PN 已更改为 -Pn ;-)
【解决方案2】:

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

我看到像这样的扫描时间减少了 70%(与裸 -sT-sU 扫描相比)。请注意,有可能将--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]$

【讨论】:

  • 我注意到这个参数的可靠性很差(我像你一样使用 100)。例如,我的一台主机打开了 SNMP 端口|已过滤,但 Nmap 认为它已关闭。但是,如果我运行 nmap -sU -p U:161 192.168.1.1 它会正确返回 open|filtered。
  • 这就是为什么我说,“请注意,可以将 --min-parallelism 设置得太高,这样主机(或网络)就无法同时缓冲这么多查询。”。降低 --min-parallelism 直到您的可靠性问题消失,但您仍然可以获得可接受的速度
  • 该参数有默认值吗?我的意思是默认情况下 Nmap 在单个主机上进行多少次并行扫描?
  • the NMAP Performance Manual默认情况下,Nmap会根据网络性能计算出一个不断变化的理想并行度。如果数据包被丢弃,Nmap 会减慢速度并允许更少的未完成探测。随着网络证明自己的价值,理想的探测数量会慢慢上升。这些选项为该变量设置了最小或最大界限。默认情况下,如果网络被证明不可靠,理想的并行度可能会下降到 1,而在完美条件下,理想的并行度会上升到数百。
猜你喜欢
  • 2012-01-31
  • 2011-07-31
  • 2011-12-21
  • 2013-01-23
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多