¿Programa Linux integrado o de código abierto para unirse al grupo de multidifusión?

¿Programa Linux integrado o de código abierto para unirse al grupo de multidifusión?

Estoy usando tcpdump para capturar paquetes de multidifusión y tuve que codificar un programa personalizado para unir transmisiones de multidifusión para que tcpdump "vea" los paquetes. ¿Me pregunto si netcat o cualquier otra aplicación puede realizar esta función?

Respuesta1

Esta respuesta ha sido retractada.

Respuesta2

Se puede utilizar socat para suscribirse a grupos. Esto funciona muy bien tanto para la suscripción L2 como para la L3:

socat STDIO  UDP4-DATAGRAM:239.101.1.68:8889,\
  ip-add-membership=239.0.1.68:10.100.201.1

Esto se suscribirá al grupo 239.0.1.68usando la interfaz con dirección 10.100.201.1. El UDP4-DATAGRAM:239.101.1.68:8889bit escucha paquetes en un grupo ficticio y un puerto udp que no deberían recibir ningún dato para evitar que socat también envíe todo a la salida estándar. Si, en cambio, desea dirigir la carga útil a la salida estándar, cambie ese grupo y puerto para que sean el grupo y puerto reales al que desea suscribirse.

Se pueden especificar varias directivas separadas por comas ip-add-membershippara suscribirse a varios grupos al mismo tiempo. Cuando socat sale, parece borrar también las suscripciones IGMP.

Respuesta3

Además de socatla respuesta, aquí hay una solución pesada:smcroute. Esta aplicación se ejecuta como un demonio y se puede controlar sobre la marcha:

smcroutectl join eth0 239.1.1.27
smcroutectl leave eth0 239.1.1.27

Respuesta4

En el pimd de FRR, puedes hacer:

interface vlan2000
 ip address A.B.C.D/24
 ip igmp
 ip igmp join 239.0.110.219
 ip igmp join 239.0.110.220
 ip igmp version 2

información relacionada