在某些网络(主要是企业网络)上,防火墙会将出站连接限制到某些端口号。允许的端口通常包括端口 80、11、443 等。
有没有什么方法可以让我快速进行端口扫描来找出哪些端口有防火墙,哪些没有?
答案1
当然,您可以尝试对防火墙另一侧的目标进行端口扫描,您知道该目标在每个端口上都接受连接(但很难找到其中一个或保持其在线),但更好的方法是只测试您感兴趣的端口,因为它更快、更容易,而且不太可能让您因端口扫描而陷入麻烦。
但是,没有简单的技巧可以获得这些信息(除了检查防火墙配置),这至少部分是设计使然 - 关于哪些流量可以通过防火墙以及哪些流量不允许通过防火墙的信息并不容易泄露,因为掌握了这些信息将有助于攻击者改进其网络渗透的努力。
答案2
不幸的是我无法发表评论,但是 HoplessN00b 的评论让我搜索一些所有端口都打开的服务,而且它确实存在 - portquiz.net。
因此运行
netcat -vz portquiz.net 1-9999 2>&1 | grep -v failed
为您提供可用端口列表,您可以从受限网络使用/连接。
答案3
这是我想出的最后一个命令,其中包括一秒钟的超时,以便更快地进行迭代:
netcat -vz -w 1 portquiz.net 1-65535 2>&1 | grep succeeded
根据您使用的 netcat 版本,cli 参数可能会有所不同。