有没有办法查看实际过滤TCP端口通信的内容?


10
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

有什么办法可以让我看到到底是什么在过滤那些端口?

Answers:


11

这就是nmap文档对filtered状态的评论

已过滤的 Nmap无法确定端口是否打开,因为数据包过滤会阻止其探针到达端口。筛选可以来自专用防火墙设备,路由器规则或基于主机的防火墙软件...

找出正在执行过滤的唯一方法是知道您和远程目标之间有哪些“机器”。

这可以通过使用路由跟踪实用程序来实现,该实用程序尝试使用特殊的TCP数据包确定您与目标之间的主机。在您的情况下,该命令可能类似于:

traceroute 10.1.1.1

一旦了解了您与目标之间的机器,便可以调查每个机器的配置,以了解它们是否正在过滤以及是否进行过滤。


在这两台机器上没有活动的软件防火墙,nmap -p 7000-7020 localhost显示已打开的端口,并且据说专用防火墙已打开。
Eduard Florinescu 2015年

4
您得到的证据表明有些东西正在过滤,我们不知道那是什么,因为我们不知道您的配置。基于主机的防火墙通常允许回送(localhost)接口上的所有通信,因此这可能是一种误导性测试。
user9517 2015年

您是否有可能将Linux与iptables“ -j DROP”一起使用?nmap文档称为过滤的实际上是任何协议上的丢弃数据包。
risyasin 2015年

该软件实际上绑定到外部IP吗?如果将它们全部绑定到127.0.0.1,则可能导致此情况。检查netstat
devicenull 2015年

12

Nmap提供了几种方法来获取有关导致筛选的原因的更多信息:

  • --reason选项将显示导致“已过滤”端口状态的响应类型。这可能是“无响应”或“管理员禁止”或其他情况。
  • 响应数据包的TTL在XML输出中报告为端口元素的reason_ttl属性state。如果已过滤端口的TTL与开放端口的TTL不同(通常大于),则TTL之间的差异就是目标与过滤设备之间的网络距离。也有例外,例如目标对ICMP和TCP数据包使用不同的初始TTL,或者伪造或覆盖TTL信息的过滤设备。
  • --traceroute功能将显示有关沿路线的跳数的信息,其中任何一条都可能会过滤您的流量。在某些情况下,其中一跳的反向DNS名称甚至可能类似于“ firewall1.example.com”
  • firewalkNSE脚本将与将在沿途不同跳,试图寻找到的数据包被阻塞超时初始的TTL发送数据包。这类似于前两种技术的结合,通常效果很好。

当前未发布的Nmap开发版本还会在带有-v --reason选项的普通文本输出中报告响应数据包的TTL 。不过,到目前为止,您必须使用XML输出来获取此信息。

编辑添加:Nmap 6.49BETA1是第一个在带有-v --reason或的文本输出中显示响应数据包的TTL的版本-vv,并于2015年6月发布。


1
非常有用的选项+1
Eduard Florinescu 2015年

是的,这--script=firewalk是我想要找到的。谢谢。
ulidtko

5

简短答案-不,您看不到它。

更长的答案:

来自:https : //nmap.org/book/man-port-scanning-basics.html

“已过滤的Nmap无法确定端口是否处于开放状态,因为数据包过滤会阻止其探针到达该端口。该过滤可能来自专用的防火墙设备,路由器规则或基于主机的防火墙软件。这些端口使攻击者感到沮丧,因为它们提供的内容很少有时它们会以ICMP错误消息响应,例如类型3代码13(目标无法访问:在管理上被禁止通信),但是仅丢弃探针而没有响应的过滤器则更为常见,这迫使Nmap重试几次,以防万一探针被检测到。是由于网络拥塞而不是过滤导致流量下降。这大大降低了扫描速度。”

您可以尝试使用诸如traceroute之类的工具发现网络拓扑。通常,端口在其自身的主机(即ip表),目标网络边缘路由器,目标网络核心路由器或机架L3交换机的顶部进行过滤。

如果您与目标主机位于同一子网中,则几乎可以确定防火墙在目标计算机上。


2

尝试将tcptrace的结果与过滤后的端口之一进行比较,而将tcptrace的结果与开放端口(或标准traceroute)进行比较。如果tcptraces相同,则意味着目标计算机上有某些内容正在过滤端口。

更新:我的意思是tcptraceroute,我给它起了别名。

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.