jer*_*ile 1 networking centos wireless-networking nmap
nmap
作为按照本指南设置 docker 的一部分,我正在尝试运行以查看我的计算机打开了哪些端口。我用
sudo nmap -sU -sS -T4 --defeat-rst-ratelimit -p 1-65535 localhost
Run Code Online (Sandbox Code Playgroud)
这需要永远。我把它降到只有 500 个端口,大约需要 45秒。在指南中,我看到扫描所有 65000 个端口只需要大约 3 秒。我不知道发生了什么。
系统是全新的 Centos 7.4.1708(昨晚安装)。无论如何,它都不是一台出色的笔记本电脑(大约 2010 年),但速度慢这么多数量级是没有意义的。我在消费者路由器后面,但我认为这无关紧要,因为我正在执行本地主机扫描。
非常感谢任何帮助/建议。我尝试了这个问题中建议的命令
nmap -d -n -Pn -p 4730 localhost
nmap -d -n -sn localhost
nmap -d -sL localhost
Run Code Online (Sandbox Code Playgroud)
并得到了非常快的响应,第一个需要 0.07 秒,其余的需要 0.01 秒。单个端口扫描相当快,但对于大量端口来说非常慢。此外,删除--defeat-rst-ratelimit
并-T4
没有明显改变速度。
这个问题的答案可能非常明显,因为我对网络几乎一无所知。
Nmap 不是用于此目的的最佳工具。我喜欢 Nmap,我的全职工作正在研究和推广它,但在这种情况下,它不是完成这项工作的最佳工具。Linux 内核详尽地记录了哪些端口是打开的,哪些进程打开了它们,常用的命令行工具可以对此进行查询。对您最有用的命令是netstat -tulnp
,它列出所有侦听 ( -l
) TCP ( -t
) 和 UDP ( -u
) 端口号 ( -n
) 及其关联的进程 ID ( -p
)。某些系统不推荐使用 netstat 命令,因此您可以ss
改用:ss -tunpo state listening
至于为什么Nmap需要这么长时间,最可能的原因是UDP扫描(-sU
)。Nmap 想找出哪些端口是开放的,哪些是关闭的,但 UDP 不需要来自开放端口的响应包。相反,它会发送 ICMP Port Unreachable 消息以响应对关闭端口的探测。Linux 对这些 ICMP 消息进行速率限制,因此 Nmap 必须减慢速度以区分“开放端口,无响应”静默和“关闭端口,但现在还不是发送 ICMP 消息的时候”静默。
归档时间: |
|
查看次数: |
5376 次 |
最近记录: |