
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.68
Dadurch wird die Gruppe über die Schnittstelle mit der Adresse abonniert 10.100.201.1
. Das UDP4-DATAGRAM:239.101.1.68:8889
Bit 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-membership
Anweisungen angegeben werden, um mehrere Gruppen gleichzeitig zu abonnieren. Wenn socat beendet wird, werden anscheinend auch die IGMP-Abonnements gelöscht.
Antwort3
Zusätzlich zur socat
Antwort 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