【问题标题】:Listen to UDP messages which are not sent as a broadcast收听未作为广播发送的 UDP 消息
【发布时间】:2021-12-18 19:02:25
【问题描述】:

考虑以下几点: 我有一个将 UDP 消息发送到另一台设备的设备,它们都在同一个交换机上。 UDP 消息不作为广播发送。现在我想用第三个设备收听这些 UDP 消息,也连接到同一个交换机。

现在我必须选择正确的开关,但我不确定我是否遗漏了什么: 由于第 2 层交换机对地址一无所知,因此无论如何都要通过交换机的所有端口发送 UDP 消息是否正确。或者换句话说:我可以使用任何第 2 层交换机,无论是托管的还是非托管的,只要所有设备都在同一个子网中?

感谢您的帮助! 西蒙

【问题讨论】:

  • "UDP 消息通过交换机的所有端口发送是否正确,因为第 2 层交换机对地址一无所知。" 不。第 2 层交换机知道二层地址,并且只将二层帧传送到目的二层地址所连接的接口。

标签: networking udp switching osi


【解决方案1】:

我认为您误解了 TCP/IP 模型中第 2 层的工作原理。

如果 UDP 数据报被发送到网络上的特定机器,它的第 2 层地址应该是目标的 MAC 地址,只要他的 CAM 表中有 MAC 地址,交换机就会只将它发送到这台机器( MAC 地址 物理端口关联),只要机器在网络上处于活动状态,就应该是这种情况。

如果你想拦截两台机器之间的数据包,你可以镜像交换机上的物理端口来复制这个端口接收到的信息,或者在本地网络上进行ARP缓存毒攻击,这样你就可以接收所有流量从一台机器到另一台机器,也称为 MITM 攻击(中间人),在 linux 机器上很容易产生。

【讨论】:

  • 感谢您的回复。端口镜像是关键。一个问题:如果我镜像所有流量,例如端口 1 到端口 2,我是否仍然可以将端口 2 上的设备用于其他用途,例如连接到互联网,还是该端口上的通信只是单向的?
  • 我认为这取决于交换机的容量。我使用的唯一交换机无法做到这一点,因为镜像端口的配置与第一个端口完全相同,但我认为没有理由不应该这样做。
猜你喜欢
  • 2012-06-05
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 2020-02-21
  • 2012-09-17
相关资源
最近更新 更多