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

Edu*_*scu 11 firewall tcp port-scanning nmap

nmap -p 7000-7020 10.1.1.1
Run Code Online (Sandbox Code Playgroud)

将输出所有过滤的端口

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
Run Code Online (Sandbox Code Playgroud)

有没有办法让我看到过滤这些端口的具体内容?

bon*_*ing 13

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 月发布。


use*_*517 12

这是 nmap 文档对filtered状态的描述

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

找出正在执行过滤的唯一方法是了解您和远程目标之间的“机器”。

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

traceroute 10.1.1.1
Run Code Online (Sandbox Code Playgroud)

一旦您了解了您和目标之间的机器,您就可以调查每台机器的配置,以确定它是否正在过滤以及如何过滤。

  • 您拥有的证据表明某些东西正在过滤我们无法知道那是什么,因为我们不知道您的配置。基于主机的防火墙通常允许环回 (localhost) 接口上的所有流量,因此这可能是一个误导测试。 (4认同)

Mac*_*cki 5

简短回答 - 不,您无法看到它。

更长的答案:

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

“过滤后的 Nmap 无法确定端口是否打开,因为数据包过滤阻止其探测到达该端口。过滤可能来自专用防火墙设备、路由器规则或基于主机的防火墙软件。这些端口使攻击者感到沮丧,因为它们提供的很少信息。有时它们会以 ICMP 错误消息作为响应,例如类型 3 代码 13(目标不可达:管理禁止通信),但过滤器简单地丢弃探测而不响应的情况更为常见。这迫使 Nmap 重试几次,以防探测失败“由于网络拥塞而不是过滤而被丢弃。这会大大减慢扫描速度。”

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

如果您与目标主机在同一子网中,几乎可以肯定防火墙在目标机器上。