如何扫描防火墙以找到开放的传出端口?


9

我正在寻找可以在防火墙网络中使用的工具,以扫描防火墙以查找开放的传出端口。

我已经做过一些研究,发现Firewalk了,但是10年来它一直没有得到维护,并且当我尝试它时似乎对我没有用。

我进行了一次谷歌搜索,发现一些网站说您可以使用nmap进行此操作,但是我也无法正常进行。

有没有人比在防火墙外设置一个监听每个端口并尝试从内部进行端口扫描的盒子更好的方法?

Answers:


4

假设您有三个子网,并且其中有一个服务器,但是要查看对其他两个子网开放的规则。我从服务器对其他两个运行nmap扫描。我通常使用以下行:

nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -P0 -sS -F -n --host_timeout 240000 --max_rtt_timeout 300 --initial_rtt_timeout 2000 --max_parallelism 250 192.168.123.0/24 192.168.234.0/24

您也可以将类似的概念路由应用到Internet,因为nmap将识别要过滤的端口。


谢谢你 fyi nmap语法已更新了几秒钟,并且不赞成使用P0;更新的命令: nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -Pn -sS -F -n --host_timeout 240 --max_rtt_timeout 3 --initial_rtt_timeout 2 --max_parallelism 250 <IPADDRESS>
jhaagsma

3

这是我所做的:

在被测网络中设置一台计算机,在Internet上其他位置(在防火墙的另一侧)设置一台计算机。使用Windows或linux(我使用过CentOS)应该没问题。我有一个公共IP,但我想它可以与1:1 NAT一起使用。

在Internet机器上,我运行了一个命令,该命令将使用nc打开计算机上的每个端口。我做了

for i in `seq 1 65000`; do nc -l $i &; sleep 1; done

睡眠是为了防止它一次产生过多的netcat进程。一切正常,但花费了65000秒(过夜)。

在经过测试的网络上,我只需运行

nmap -p- -PN <IP>

然后等待结果。


欢迎来到serverfault!我已对您的答案进行了编辑,以使其更适合其他答案的风格;随时单击“编辑自己”以查看减价。请注意,坟墓字符(`)用于表示代码段,因此将其用作撇号(')会混淆降价引擎:)
Falcon Momot,2013年

1

Firebind.com提供此服务。

它使您可以在任意范围的UDP或TCP端口上测试出站连接。如果测试范围大于100个端口,则需要一个免费帐户。


5
你为他们工作吗?
jscott 2012年

0

因为您需要在这些端口上进行回复的想法,所以最好在防火墙的每一侧都配备一台计算机。如果没有该目标计算机,该端口可能会在防火墙本身上打开,但是由于它不会(应该?)对该端口上的流量做出响应,因此您将不会意识到该端口。在这种情况下,您将无法分辨出防火墙只是简单地丢弃数据包而关闭了端口还是打开了端口,而另一端没有任何响应的端口之间的区别。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.