单播到多播可能吗?

网络工程 第 3 层 多播
2022-03-04 22:50:28

我可以检查是否可以将 TCP 流量转换为 UDP 多播,以及是否有任何设备/交换机可以这样做?

例如,工作站 A、B 和 C 与 Server1 建立 TCP 连接。当消息从 Server1 发送回工作站 A、B 或 C 时,是否可以将这些消息从 Server1 转换为 UDP 多播并允许所有工作站侦听多播组?我需要一个工作站来监听来自 Server1 的所有流量,这些流量原本是用于任何其他工作站的。

谢谢。

2个回答

一般不能将 TCP 转换为 UDP 或 IGMP。

你所要求的需要应用层中的一些机制——例如某种代理可以做到这一点。但是请注意,传输层之上的层在这里是题外话。

如果您只需要发送到/来自 Server1 的 TCP 段的副本来监听连接,这正是端口镜像的用途,请参阅 Marc 的回答。

没有多播,我不知道怎么做。

可能有帮助的是端口镜像(“跨端口”、“监控端口”),因为许多托管交换机都提供了它们。

在您选择作为出口/目标/输出端口的端口的带宽限制内,您甚至可以监控多个端口(例如工作站 A、B 和 C 的交换机端口),或者您可以监控服务器的端口。当然,将多个加载的 1G 端口监控到一个目标端口可能不是最好的主意。

然后将另一台计算机的 NIC 连接到目标/输出端口。该 NIC 必须设置为监视或混杂模式。并且需要有一个运行的应用程序可以在以太网帧进入时捕获(可选:..并实时分析)以太网帧,并且计算机需要适当大小和适当快速的存储或 RAM 来存储您想要的数据量捕获并保留。

请注意,端口镜像不提供任何过滤机制或数据流的选择性镜像——它们只是在以太网帧到来时复制它们。

根据给定情况感兴趣的 MAC/IP 地址或 TCP/UDP 端口等标准,设置捕获过滤器可能是可取的,以减少所需的存储量并消除一些“噪音” .

根据您的场景,您的需求可能会有所不同,从专门的大容量/高速捕获设备,到具有千兆位 NIC 的简单笔记本电脑,使用(例如)pcap、winpcap 或 npcap 作为捕获库,以及用于 a) 控制的 Wireshark捕获库(启动、停止、捕获过滤器)和 b) 用于分析和剖析数据包和流。(请注意,这里的资源建议实际上是题外话)。


插件 1

然后,一些交换机和路由器上还有 ERSPAN。使用 ERSPAN,镜像设置的目标/输出不是同一交换机上的另一个端口。相反,从监控/镜像端口捕获的数据包被封装成 GRE/IP 数据包,并从交换机的管理 IP 地址发送到 IP 目标。

该目的地可能是另一个支持 ERSPAN 的交换机/路由器,但也可能是配置为接收和解封装 ERSPAN 数据包的 Wireshark 实例。

请参见此处: 使用 ERSPAN 远程嗅探桌面


插件 2

还请考虑:

完整的数据包捕获和分析是一把“大锤子”,通常在发现特定问题并且需要完全理解数据包有效负载或标头中的最新位(字面意思)时调用。

如果您正在寻找“哪台计算机与另一台计算机何时以及多长时间、使用哪些协议以及它们交换了多少数据?”风格的统计/元信息。在很长一段时间内,您应该关注NetFlow技术。

支持 NetFlow 的交换机和路由器收集有关数据流的(元)信息并将其转发到“netflow 收集器”,然后可以汇总、统计、报告、关联、图表、分析......等等。这将是很多比筛选大量捕获的数据更快。

当然,您可以从巨大的数据山中提取/浓缩所有这些信息,完整的数据包捕获将在给定的时间段内生成。就存储和计算(以及财务)资源而言,这将有些昂贵。