0 votes

socat Problème de multidiffusion UDP sur l'interface WiFi

J'ai installé socat sur MacOS Montery grâce à homebrew.

La commande :

socat UDP4-RECVFROM:8888,ip-add-membership=239.255.98.99:192.168.1.100,fork,reuseaddr -

ne récupère aucun datagramme (la même commande sur une machine Linux le fait) sur l'interface WiFi alors que l'interface ethernet est correcte.

Quel est le problème ?

2voto

Jose Chavez Points 645

Comme je l'ai écrit dans l'autre question, je pense que vous devriez commencer à utiliser tcpdump ou wireshark pour vérifier ce qui arrive réellement sur l'interface réseau. Assurez-vous que vous pouvez voir les paquets UDP en premier lieu - et ensuite vous pouvez obtenir socat en cours d'exécution.

Ce qui est intéressant dans cette question, c'est que vous indiquez qu'il fonctionne sur Ethernet mais pas sur Wi-Fi. Je suppose que vous utilisez un Mac assez récent - ils supportent très bien le multicast en WiFi. Pour vérifier, lancez cette commande dans le Terminal :

ifconfig en0

(où en0 doit être remplacé par le nom de l'interface de votre WiFi)

Le texte devrait se présenter comme suit :

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

Notez qu'il est indiqué "MULTICAST" - c'est nécessaire pour que les choses fonctionnent.

L'étape suivante consiste à vérifier les tables de routage. Il se peut que vous ayez configuré les choses pour que le routage multicast soit exclusif à l'interface Ethernet et non à l'interface WiFi. Dans le terminal, exécutez la commande suivante :

 netstat -nr | grep ^2

Vous devriez voir des lignes comme celles-ci :

224.0.0/4          link#5             UmCS           en0      
239.255.98.99      yyyyyy             UHmLWI         en0

Assurez-vous que la route générale ou la route spécifique existe et qu'elle concerne l'interface WiFi (au lieu de l'interface Ethernet).

Vous pouvez également essayer de modifier l'ordre de service. Pour ce faire, ouvrez System Preferences > Networks puis cliquez sur le petit cercle ... sous la liste des interfaces et sélectionnez Set Service Order . Assurez-vous que votre interface WiFi est listée avant l'interface Ethernet.

Également dans System Preferences vous devez vérifier Sharing et veiller à ce que Internet Sharing n'est pas activée.

0voto

Oskar Points 1242

Le principal problème est qu'Apple a déjà installé des outils de capture de paquets.

Pourquoi ne pas les utiliser pour capturer vos paquets et utiliser wire shark ou un autre outil pour les analyser.

0voto

Patrick Points 1451

C'est le partage de l'internet (dans les préférences de partage) qui a causé le problème.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X