nmap -p 7000-7020 10.1.1.1
将输出所有过滤的端口
Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET Nmap scan report for 10.1.1.1 Host is up (0.00091s latency). PORT STATE SERVICE 7000/tcp filtered afs3-fileserver 7001/tcp filtered afs3-callback 7002/tcp filtered afs3-prserver 7003/tcp filtered afs3-vlserver 7004/tcp filtered afs3-kaserver 7005/tcp filtered afs3-volser 7006/tcp filtered afs3-errors 7007/tcp filtered afs3-bos 7008/tcp filtered afs3-update 7009/tcp filtered afs3-rmtsys 7010/tcp filtered ups-onlinet 7011/tcp filtered unknown 7012/tcp filtered unknown 7013/tcp filtered unknown 7014/tcp filtered unknown 7015/tcp filtered unknown 7016/tcp filtered unknown 7017/tcp filtered unknown 7018/tcp filtered unknown 7019/tcp filtered unknown 7020/tcp filtered unknown Nmap done: 1 IP address (1 host up) scanned in 2.78 seconds
有没有办法,我可以看到究竟是过滤这些端口?
这是nmap文档对filtered状态的说明
过滤的 Nmap无法确定端口是否打开,因为数据包过滤阻止其探针到达端口。 过滤可以来自专用的防火墙设备,路由器规则或基于主机的防火墙软件。
找出filter的唯一方法就是知道你和远程目标之间有什么“机器”。
这可以使用路由跟踪实用程序来实现,该实用程序试图使用特殊的TCP数据包来确定您和目标之间的主机。 在你的情况下,命令可能看起来像这样:
traceroute 10.1.1.1
一旦你知道了你和目标之间的机器,你可以调查每个机器的configuration,以确定它是否正在过滤,以及如何进行过滤。
Nmap提供了几种方法来获取有关导致过滤的更多信息:
--reason选项将显示导致“过滤”端口状态的响应types。 这可能是“无回应”或“pipe理禁止”或其他。 state元素的reason_ttl属性。 如果过滤端口的TTL与开放端口的TTL不同(通常大于),那么TTL之差就是目标和过滤设备之间的networking距离。 也有一些例外情况,例如ICMP与TCP数据包使用不同初始TTL的目标,或伪造或覆盖TTL信息的过滤设备。 --traceroutefunction将显示有关您的路线上的啤酒花信息,其中任何一个可能会过滤您的stream量。 在某些情况下,其中一个跳转的反向DNS名称甚至会是“firewall1.example.com” firewalk NSE脚本将发送具有初始TTL的数据包,这些TTL将在path上的不同跳跃中超时,以试图找出数据包被阻塞的位置。 这就像前面两种技术的结合,通常效果很好。 Nmap的当前未发布的开发版本也会在-v --reason选项的正常文本输出中报告响应数据包的TTL。 但现在,您必须使用XML输出来获取这些信息。
简短的回答 – 不,没有办法,你可以看到它。
较长的答案:
来自: https : //nmap.org/book/man-port-scanning-basics.html
“过滤后的Nmap无法确定端口是否打开,因为数据包过滤阻止其探测到达端口,过滤可能来自专用的防火墙设备,路由器规则或基于主机的防火墙软件,这些端口会阻止攻击者,信息,有时他们用ICMP错误信息(例如types3代码13)(目标不可达:通信pipe理禁止)来响应,但是filter只是简单地放下探测而没有响应,这是非常常见的,这迫使Nmap多次重试,由于networking堵塞而不是过滤,导致扫描速度变慢。“
您可以尝试使用traceroute等工具发现networking拓扑。 通常,端口在它自己的主机(即IP表),目标networking边缘路由器,目标networking核心路由器或机架顶部的L3交换机上被过滤。
如果您与目标主机在同一个子网中,则几乎可以确定防火墙在目标机器上。
尝试将tcptrace的结果与使用tcptrace过滤的端口之一进行比较,以打开端口(或标准跟踪路由)。 如果tcptraces相同,则意味着目标机器上的某些内容过滤端口。
更新:我的意思是tcptraceroute,我有别名。