[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS/2] vlc et la freebox



Pascal Hambourg a écrit :
> Jean Baptiste Favre a écrit :
>>
>>> C'est quand même bien pourri comme méthode pour récupérer l'adresse IP
>>> locale. Il y a des moyens plus propres. D'ailleurs, quelle adresse
>>> locale dans le cas où la machine en a plusieurs, et comment le logiciel
>>> sait-il laquelle est la bonne ?
>>
>> Bien pourri je ne sais pas. En fait, le paquet envoyé à cette adresse
>> multicast l'est avec un TTL à 0. Du coup, en retour, on doit avoir un
>> message d'erreur (j'ai pas vérifié avec tcpdump) qui permet à VLC
>> d'obtenir l'adresse locale.
> 
> Ça ne correspond pas au log iptables mentionné sur www.gege.org :
> 
> IPTABLES REJECT : IN=eth1 OUT= MAC= SRC=192.168.0.1 DST=228.67.43.91
> LEN=39 TOS=0x00 PREC=0x00 TTL=1 ID=0 DF PROTO=UDP SPT=15947 DPT=15947
> LEN=19
> 
> Apparemment le paquet reçu est le paquet multicast lui-même qui est
> rebouclé, comme lors de l'émission d'un broadcast. AMA le TTL sert juste
> à éviter qu'il soit inutilement routé vers l'extérieur. Il me semble
> qu'il ne faut pas envoyer de message d'erreur ICMP quand la destination
> du paquet original est une adresse multicast.
N'étant pas un spécialiste réseau (notamment sur le multicast), je n'ai
pas la réponse. Je ne peux que me perdre en conjectures :-)

>> Dans le cas où la machine possède plusieurs
>> adresses, même pas peur puisque le paquet ne sort que par une seule
>> interface (a priori l'interface définie pour la route par défaut).
> 
> Et si justement le serveur RTSP n'est pas joignable via l'interface
> définie pour la route par défaut mais via une autre interface ?
> Ne serait-il pas préférable d'utiliser les fonctions de socket pour
> récupérer l'adresse source utilisée pour envoyer la requête en TCP au
> serveur RTSP ?
> 
>> Maintenant, à mon humble avis, c'est un "hack" multiplate-forme :-)
> 
> Probablement, je ne vois que cette explication.
> 
>> En passant une question: comment se fait-il que la réponse à ce paquet
>> ne passe pas comme ESTABLISHED dans Netfilter ?
> 
> Si le paquet reçu est le paquet UDP multicast émis, il a l'état NEW. Si
> c'était un message d'erreur ICMP, il aurait l'état RELATED et passerait
> par l'interface de loopback puisqu'envoyé de la machine à elle-même.
Je pense surtout après réflexion que le problème, c'est l'IP de
destination qui n'est pas l'IP locale. Donc le paquet n'est pas
considéré comme ESTABLISHED ou RELATED. Je pense même, je ferai l'essai,
qu'il devrait être considéré comme INVALID puisque semblant provenir de
la machine locale mais sur l'interface externe.

Cordialement,
JB



Reply to: