30 votes

Comment puis-je vider le cache DNS ?

Comment puis-je effacer le cache DNS de mon téléphone Android ? (Droid3, Gingerbread, rooté pour être précis)

Idéalement, je cherche une commande à exécuter via un émulateur de terminal, quelque chose de similaire à

ipconfig /flushdns

Sur une machine Windows.

Quelle est la version Linux de ceci ?

15voto

memius Points 1529

Les adresses sont mises en cache pendant 600 secondes (10 minutes) par défaut. Les recherches échouées sont mises en cache pendant 10 secondes. D'après tout ce que j'ai vu, il n'y a rien d'intégré pour vider le cache. Il s'agit apparemment d'un bogue signalé dans Android à cause de la façon dont il stocke le cache DNS. L'effacement du cache du navigateur n'affecte pas le DNS, le "hard reset" l'efface parce qu'il se termine simplement.

Pouvons-nous demander la raison sous-jacente de la nécessité de vider le cache DNS ? Il y a peut-être une autre solution qui nous échappe parce que nous n'avons pas une vue d'ensemble.

11voto

Chris Roberts Points 7543

Sur un système Linux typique, le cache est effacé en exécutant /etc/init.d/nscd restart mais au moins ma ROM n'utilise pas nscd pour cacher les DNS. Vous pouvez vérifier si la vôtre le fait, mais j'en doute. J'ai vu des suggestions selon lesquelles effacer le cache du navigateur effacerait aussi le cache DNS, mais un moyen sûr est de faire un redémarrage brutal (éteindre, retirer la batterie pendant 30s, remettre la batterie et démarrer).

7voto

Adam Arold Points 4647

La seule façon de faire cela dans Android est de faire un redémarrage brutal. Les outils de ligne de commande nécessaires ne sont normalement pas disponibles, mais dans mes tests, un redémarrage brutal a toujours fait l'affaire (Galaxy Nexus, et HTC Desire, diverses ROMs).

C'est pénible, mais c'est plus rapide que le délai d'attente de 10 minutes du cache.

6voto

Milner Points 533

Il y a aussi des applications comme Internet Booster promettant de "vider le cache DNS" (entre autres choses). Je ne l'ai pas essayé moi-même, et de plus il ne semble pas y avoir de moyen de faire seulement cela (juste un bouton "optimiser" qui "applique les améliorations") ; aussi ses effets peuvent différer entre les appareils (selon la description de l'application) -- mais cela pourrait être mieux qu'un redémarrage. En outre, ses effets peuvent varier selon les appareils (d'après la description de l'application), mais cela peut être mieux qu'un redémarrage.

Il y a plusieurs "applications similaires" listées sur Google Play -- mais soyez conscient que la plupart d'entre elles incluent des publicités Airpush et/ou demandent des autorisations excessives, c'est pourquoi je ne les ai pas nommées ici.


Une autre solution possible (non testée par moi-même) a été trouvée à l'adresse suivante MadPC en citant apparemment La réponse de user8522 avant de déclarer :

La dernière option mais la plus intensive pour l'utilisateur lui-même, à moins qu'il ne veuille simplement attendre la mise à jour : Demandez à vos utilisateurs d'aller dans Paramètres -> Applications -> Localisation du réseau -> Effacer les données.

Un autre petit guide pratique mentionne un autre moyen facile de purger les DNS (encore une fois, je ne l'ai pas testé moi-même) : Il suffit de passer en mode avion (oups, pas de réseau ?) et de revenir (ah, ça y est) devrait faire l'affaire. Cela peut paraître stupide, mais j'imagine que lorsqu'on passe en mode avion, Android fait quelque chose de similaire à ce qui suit /etc/init.d/networking stop qui a pour effet secondaire de purger le DNS.


Une solution très simple a été fournie par dtumaykin dans les commentaires ci-dessous : le simple fait de passer en mode avion et de revenir en arrière pourrait déjà le faire (avec bien sûr l'effet secondaire d'une panne de réseau pendant quelques secondes ;). Bien que cela puisse ne pas fonctionner sur certains appareils, cela vaut la peine d'essayer : pas d'installation supplémentaire, et facilement réalisable même par les n00bs.

Si quelqu'un a essayé l'une de ces solutions, une confirmation (ou le contraire) est sûrement la bienvenue :)

2voto

Joao Costa Points 121

Dans les versions modernes d'Android, il existe une option permettant de vider le cache DNS de Chrome sous chrome://net-internals/#dns.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X