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

有没有办法查看实际过滤了 TCP 端口通信的内容?
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

有什么方法可以让我了解究竟是什么过滤了这些端口?

答案1

filtered这是 nmap 文档中关于状态的说法

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

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

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

traceroute 10.1.1.1

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

答案2

Nmap 提供了几种方法来获取有关导致过滤的更多信息:

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

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

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

答案3

简短的回答 - 不,你根本看不到它。

较长的答案:

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

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

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

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

答案4

尝试将 tcptrace 对某个已过滤端口的结果与对开放端口(或标准 traceroute)的结果进行比较。如果 tcptraces 相同,则意味着目标计算机上存在某些东西正在过滤端口。

更新:我的意思是 tcptraceroute,我有它的别名。

相关内容