确定端口被阻塞的位置

我试图找出一个端口被防火墙阻止的位置; 无论是路由到主机还是主机本身。

如果我运行nmap,我可以看到端口被过滤。 但是,这可能意味着主机192.168.1.74或之间的任何防火墙。 有没有办法find确切的地方?

joel@bohr ~ $ nmap -A 192.168.1.74 --traceroute Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-18 20:27 GMT Warning: Traceroute does not support idle or connect scan, disabling... Nmap scan report for android-63731d6ebec9e01.lan (192.168.1.74) Host is up (0.040s latency). Not shown: 999 closed ports PORT STATE SERVICE VERSION 2222/tcp filtered unknown 

防火墙可以通过两种方式阻止数据包:丢弃和拒绝。 在拒绝的情况下,防火墙的IP堆栈发送一个ICMP数据包目的不可达的代码为9,10或13:

http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xml#icmp-parameters-codes-3

这意味着通信是不被允许的。

但是有些人认为,告诉攻击者什么是允许的,什么是不允许的,这是一个安全的问题。 那些家伙不拒绝,但丢弃数据包。

在这种情况下,你没有机会直接检测到防火墙。 您只能间接检测防火墙。 如果没有得到任何响应,那么很可能是有防火墙,因为如果系统不存在,路由器会向您发送一个ICMP不可达数据包。 这是nmap在你的情况下的假设。