当我们用HPIHG扫描*.*.*.*的23口收到一个'ICMP Unreachable type 13 form *.*.*.*'时,通常情况就是遇到了一个PACKET FILTERING ROUTER。假如对方是CISCO的话很可能就是在配置文件中有这一行"access-list 101 deny tcp any any 23 ! telnet" 当我们收到一个RST/ACK包/*'flags=RA'*/一般代表两种可能:
1,这个包通过了FIREWALL并且TARGET没有开这个端口
2,FIREWALL拒绝了这个包(就象CheckPoint's reject rule)
假如你先扫描一个IP的23口收到了收到一个'ICMP Unreachable type 13 form *.*.*.*',然后你扫描其他的端口如22,收到的是一个RA包/*'flags=SA'*/,通过综合判断,我们可以断定,是端口22没有开,而不是被过滤规则所拒绝。
最后,当FIREWALL完全堵塞了一个PORT,我们通常收不到任何返回包。它告诉我们两个意思
1,包不能到达TARGET并丢失在途中
2,绝大部分原因是由于FIREWALL的过滤规则决定将它丢弃。
firewalk也是一个非常好的工具,它可以帮助我们发现在FIREWALL后面打开的PORT,它是利用an ip TTL calculated to expire one hop past the firewall.其实还是利用回应一个"ICMP TTL expired intransit"信息,如果包被FIREWALL’ACL 拒绝,将没有任何回应或者是一个ICMP TYPE 13。不过用firewall进行扫描要注意的一点是,有些FIREWALL在拒绝PACKET EXPIRES时还会给你返回一个ICMPTTL EXPIRED 包,呵呵,很狡猾,在这种情况下,我们将会看到所有的PORT都是打开的:(以上就是我所掌握的一些FIREWALL SCAN技术,希望可以帮助你尽量多的了解FIREWALL后面的情况,也欢迎来信讨论。