0

我通常使用 nmap 或 telnet 来寻找 Windows 机器上的开放端口。

我在一家咨询公司工作,我们不仅要发现机器上的开放端口,还要发现可以打开的端口

例如,如果我想为在 1521 侦听的客户安装数据库。在我安装数据库之前 1521 未打开,但我想知道它是否可以打开或被阻止(例如被防火墙),所以我请客户提前打开。

有什么工具或优雅的方法可以做到这一点吗?

谢谢您最好的问候

4

1 回答 1

2

Nmap 可以为您提供这些信息。“打开”、“可以打开”和“防火墙”之间的区别在 Nmap 的输出中显示为openclosedfiltered。例如:

$ sudo nmap scanme.nmap.org

在 2014-10-01 13:02 CDT 开始 Nmap 6.47 (http://nmap.org)
scanme.nmap.org (74.207.244.221) 的 Nmap 扫描报告
主机已启动(0.080 秒延迟)。
未显示:993 个关闭端口
港口国服务
22/tcp 打开 ssh
25/tcp 过滤的 smtp
80/tcp 打开 http
135/tcp 过滤的 msrpc
139/tcp 过滤的 netbios-ssn
445/tcp 过滤的 microsoft-ds
9929/tcp 打开 nping-echo

Nmap 完成:在 6.39 秒内扫描了 1 个 IP 地址(1 个主机启动)

这表明scanme.nmap.orgTCP 端口 22、80 和 9929 已打开。我的 ISP 正在阻止出站端口 25、135、139 和 445 以防止垃圾邮件和 Windows 蠕虫(如果我想运行邮件服务器,还迫使我为企业级服务付费)。其他所有东西可以在某个时候打开(Not shown: 993 closed ports)。

您可以使用其他扫描类型(-sA将端口标记为unfilteredfiltered)或脚本(firewalk将显示在您的路径上的哪个 IP 跃点处被阻止的端口)进一步枚举防火墙规则。

请注意,有时防火墙会欺骗来自目标的回复,从而导致closed判决。在这种情况下,您有时会看到响应 TTL 值的差异(在 Nmap 的 XML 输出中可用,在未来的版本中,可以在其文本输出中使用该--reason选项);关闭响应中较高的 TTL 意味着它来自比目标更靠近您的防火墙。

于 2014-10-01T18:11:44.713 回答