Question Enregistrement d'un flux de multidiffusion sur un hôte Linux multi-hébergé


J'ai ce qui ressemble au cas d'utilisation le plus simple possible, et pourtant rien n'est satisfaisant.

J'ai un hôte multi-hébergé et je voudrais écouter les multidiffusions sur eth1, et pousser toute la charge utile (en n'incluant pas les en-têtes de paquets UDP, juste la charge utile) dans un fichier. Voici certaines choses que j'ai déjà essayées,

  • socat. Cela semble être l'outil parfait, mais je n'ai aucune idée de la syntaxe à utiliser et tous les exemples que je trouve concernent des cas d'utilisation beaucoup plus compliqués. Je ne peux pas vraiment faire la tête ou les queues des exemples que je vois. Si quelqu'un le sait, comment pourrais-je le faire? N'hésitez pas à m'appeler un idiot pour ne pas l'avoir compris.
  • vlc. Parfois, laisse tomber des paquets, ce qui n'est pas acceptable. J'en ai besoin pour fonctionner longtemps sans qu'un seul paquet ne soit abandonné. Je vois cette baisse occasionnelle de nombreuses versions de vlc sur plusieurs plates-formes et je ne lui fais tout simplement pas confiance.
  • wirehark. Cela fonctionne et ne laisse jamais tomber les paquets comme vlc (même si ils sont exécutés côte à côte en même temps), mais je n'ai pas vraiment besoin d'un vidage de paquets, juste de la charge utile. Je peux ensuite utiliser wireshark pour écrire toutes les données utiles dans un fichier en utilisant la fonctionnalité "Follow UDP Stream", mais cela prend beaucoup de temps et cela m'empêche de sauvegarder la charge en temps réel. De plus, il semble que ce ne soit possible que dans la gui wirehark. Mon flux de travail serait beaucoup plus facile sans interface graphique.
  • netcat. Semblait comme le bon outil, mais ne fait pas jack shit quand il s'agit de recevoir multicast. Aucune idée de la façon de déboguer, ou si cela ne fonctionne tout simplement pas avec la multidiffusion. Parallèlement, je lance nemesis pour forcer les jointures igmp et je peux voir avec tcpdump que cela fonctionne. S'il vous plaît suggérer si je manque quelque chose de stupide.
  • nc6. Même résultat que netcat.

2
2018-04-02 01:24


origine




Réponses:


socat -u UDP4-RECV:6666,ip-add-membership=224.1.0.1:0.0.0.0 CREATE:test.out

Peut-être pas optimal, mais devrait fonctionner.


3
2018-04-02 01:54



La réponse ci-dessus par NuclearDog semble parfaite, passez une bonne journée. - snacky