In Linux integriertes oder Open-Source-Programm zum Beitritt zu einer Multicast-Gruppe?

In Linux integriertes oder Open-Source-Programm zum Beitritt zu einer Multicast-Gruppe?

Ich verwende tcpdump, um Multicast-Pakete zu erfassen, und musste ein benutzerdefiniertes Programm programmieren, um Multicast-Feeds zu verbinden, damit tcpdump die Pakete „sieht“. Ich frage mich nur, ob Netcat oder andere Anwendungen diese Funktion stattdessen ausführen können?

Antwort1

Diese Antwort wurde zurückgezogen.

Antwort2

Man kann socat verwenden, um Gruppen zu abonnieren. Dies funktioniert sowohl für L2- als auch für L3-Abonnements:

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

239.0.1.68Dadurch wird die Gruppe über die Schnittstelle mit der Adresse abonniert 10.100.201.1. Das UDP4-DATAGRAM:239.101.1.68:8889Bit lauscht auf Pakete auf einer Dummy-Gruppe und einem UDP-Port, die keine Daten empfangen sollten, um zu verhindern, dass Socat auch alles an stdout ausgibt. Wenn Sie stattdessen die Nutzlast an stdout weiterleiten möchten, ändern Sie diese Gruppe und diesen Port in die tatsächliche Gruppe und den Port, die Sie abonnieren möchten.

Es können mehrere durch Kommas getrennte ip-add-membershipAnweisungen angegeben werden, um mehrere Gruppen gleichzeitig zu abonnieren. Wenn socat beendet wird, werden anscheinend auch die IGMP-Abonnements gelöscht.

Antwort3

Zusätzlich zur socatAntwort gibt es hier eine umfassende Lösung -Abonnieren. Diese Anwendung läuft als Daemon und kann im laufenden Betrieb gesteuert werden:

smcroutectl join eth0 239.1.1.27
smcroutectl leave eth0 239.1.1.27

Antwort4

In FRRs pimd können Sie Folgendes tun:

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

verwandte Informationen