mDNS flood Android

mDNS

Vous vous souvenez du « fameux » bug googlecast mDNS? non! donc allez relire ça  BUG

Ce soir, je suis chez moi et j’écoute de la musique quand je décide de changer de morceau. J’attrape mon téléphone et j’appuie sur le bouton pour le déverrouiller et là, paff plus de musique!  Je ne sais pas pourquoi, je repense à ce fameux BUG et n’y une n’y deux, je décide de sniffer tout le trafic du M-CR611 avec wireshark. je configure mon switch et reboot mon ampli.

Je démarre wireshark… ok! du flux TCP de la webradio. Je prend mon téléphone (android) et j’appuie pour le déverrouiller… PAFF plus de son!!! je regarde mon wireshark et là BINGO une salve de requêtes mDNS!

wireshark mdns googlecast
wireshark mdns googlecast

je vois bien que mon téléphone cherche désespérément un chromecast et rapidement je compte environs 200 requêtes mDNS… avec ça même le chromecaste de voisine répond!!

En suivant, je tente de reproduire le BUG et vous savez quoi… ca marche! enfin ça plante!

En conclusion, certain routeurs sont impactés par ce bug mais quand on y pense qui est « responsable »? L’appareil qui envoie des (trop) de requêtes ou alors le récepteur qui n’est pas capable de maîtriser la gestion de sa mémoire?  Si à chaque requête vous utiliser de la mémoire et à la requête suivante vous utilisé un autre espace mémoire sans « recycler » les anciens! Il arrive quoi? et bien on remplit le buffer et la lecture du streaming s’arrête, par example…

 

 

Zeroconf mDNS

Zeroconf

Vous connaissez Zeroconf? C’est un ensemble de protocoles permettant aux différents appareils de pouvoir communiquer entre eux sans infrastructure serveur et donc plus besoin de serveur DNS! Vous comprenez le concept? 🙂

Par exemple quand votre téléphone veut connaitre l’IP d’un appareil pouvant diffuser de la musique par Spotify, il fera une requête mDNS sur le réseau pour le nom spotify.local ou un truc comme ça… Une fois qu’un appareil (le m-cr611 au piff) reconnaîtra son/le « nom » et  il répond et donne son adresse ip, plus d’autres informations.

A ce moment l’application spotify connait l’existant d’un appareil compatible. Apres le reste du protocol finit de faire le reste et vous pouvez diffuser le musique. 

Pour info les requêtes mDNS se feront sur l’IP multicast 224.0.0.251 cf RFC6762

Any DNS query for a name ending with ".local." MUST be sent to the
   mDNS IPv4 link-local multicast address 224.0.0.251 (or its IPv6
   equivalent FF02::FB).

 

De nombreux appareils fonctionnent avec ce protocol comme le chromecast:

wireshark mdns googlecast
wireshark mdns googlecast

Vous voyez un téléphone qui chercher un chromecast…

Réveil matin m-cr611

Réveil matin m-cr611

Cette semaine je me suis décidé: j’utilise l’option réveil matin du M-CR611. Programmation depuis le soft hifi remote. Simple efficace. Par contre, je regrette énormément que l’on ne puisse pas aussi programmer les jours de la semaine!

Résultat, vous êtes obligé d’arrêter le réveil pour le week-end et de ne pas oublier de le remettre dimanche soir , sinon, vous arriverez en retard lundi matin! Donc ce matin pas de problème, ma webradio se lance bien nikel… Par contre lorsque j’arrive devant l’ampli, j’ai un affichage inhabituel…

marantz m-cr611 bug
bug marantz m-cr611 bug