Ich versuche, Multicast-Verkehr über Wireshark (eigentlich TShark) zu erfassen, aber der Switch hat IGMP-Snooping aktiviert und sendet Multicast-Verkehr nur an den Ports, die ein aktives IGMP-Abonnement haben.
Ich komme derzeit darum herum, indem eine separate Anwendung die Gruppen, die ich aufzeichnen möchte, offen hält. Ich versuche jedoch, ein System einzurichten, mit dem die dynamische Aufzeichnung von Daten gestartet / gestoppt werden kann, und diese zusätzliche Komplexität ist schmerzhaft.
Gibt es eine Möglichkeit, Wireshark zu zwingen, IGMP-Abonnements für Multicast-Gruppen zu senden, die aufgezeichnet werden?
ip maddr add
scheint für IP-Layer-Abonnements nicht zu funktionieren. Die Socat-Lösung in dieser Frage: superuser.com/questions/324824/… sollte im Allgemeinen funktionieren.Vermutlich mit "Multicast-Gruppen, die aufgezeichnet werden" meinen Sie, dass Sie einen Erfassungsfilter angegeben haben, der nach bestimmten Multicast-Zieladressen in einem "Host" -Schlüsselwort fragt. Nur so kann Wireshark die Paketerfassung auf bestimmte Multicast-Gruppen beschränken.
Wireshark verfügt über keinen Mechanismus, mit dem IGMP-Abonnements basierend auf dem Erfassungsfilter gesendet werden. Es wird davon ausgegangen, dass Sie irgendwie vereinbart haben, dass alle relevanten Pakete an den Port gesendet werden, an dem sie erfasst werden, z. B. durch Portspiegelung / SPAN / wie auch immer Ihr Switch-Anbieter dies an diesem Port nennt , sodass der Switch alle Pakete an diesen Port sendet . Wenn Sie die Portspiegelung nicht einrichten können oder wenn dadurch zu viele Pakete an den Port gesendet werden, an dem Sie erfassen, müssen Sie diesen Port bei der entsprechenden Multicast-Gruppe abonnieren (wie Sie es anscheinend bereits tun). .
quelle
Erstellen Sie einen benutzerdefinierten Lua-Listener und rufen Sie ihn von Wireshark aus auf.
Hier ist ein gut dokumentiertes Beispiel:
quelle
Mit Ostinato können Sie Pakete erstellen, erstellen und senden .
quelle