Comment puis-je vider mon cache DNS sur mon téléphone Android? (Droid3, Gingerbread, enraciné pour être spécifique)
Idéalement, je recherche une commande pour exécuter un émulateur de terminal, quelque chose de similaire à
ipconfig /flushdns
Sur une machine Windows.
Quelle est la version Linux de cela?
Réponses:
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 mettre en cache DNS. Vous pouvez vérifier si le vôtre le fait, mais j'en doute. J'ai vu des suggestions selon lesquelles l'effacement du cache du navigateur effacerait également le cache DNS, mais un moyen sûr est de faire un redémarrage dur (arrêt, retirer la batterie pendant 30 secondes, rattacher la batterie et démarrer).la source
Les adresses sont mises en cache pendant 600 secondes (10 minutes) par défaut. Les recherches ayant échoué sont mises en cache pendant 10 secondes. De tout ce que j'ai vu, il n'y a rien de intégré pour vider le cache. Il s'agit apparemment d'un bogue signalé dans Android en raison de la façon dont il stocke le cache DNS. L'effacement du cache du navigateur ne touche pas le DNS, la «réinitialisation matérielle» l'efface car elle expire simplement.
Pouvons-nous demander la raison sous-jacente de la nécessité d'effacer le cache DNS? Peut-être y a-t-il une autre solution manquée parce que nous ne regardons pas la situation dans son ensemble.
la source
networkaddress.cache.ttl
etnetworkaddress.cache.negative.ttl
dansbuild.prop
.La seule façon de le faire dans Android est de faire un redémarrage dur. Les outils de ligne de commande nécessaires ne sont normalement pas disponibles, mais dans mes tests, un redémarrage dur a toujours fait l'affaire pour moi (Galaxy Nexus et HTC Desire, différentes ROM).
C'est une douleur, mais c'est plus rapide que le délai d'expiration du cache de 10 minutes.
la source
Il existe également des applications comme Internet Booster promettant de "vider le cache DNS" (entre autres). Je ne l'ai pas essayé moi-même, et de plus il ne semble pas possible de faire seulement cela (juste un bouton "Optimiser" qui "applique des améliorations"); ses effets peuvent également différer d'un appareil à l'autre (selon la description de l'application) - mais cela peut être mieux qu'un redémarrage. Btw: bien que ne mentionnant pas root comme exigence, il pourrait toujours être nécessaire.
Il existe plusieurs "applications similaires" répertoriées sur Google Play - mais sachez que la plupart d'entre elles incluent des publicités Airpush et / ou veulent 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) que j'ai trouvée chez MadPC , apparemment citant la réponse de user8522 avant de déclarer:
Un autre petit guide mentionne un autre moyen facile de vider le DNS (encore une fois, je n'ai pas testé cela moi-même): il suffit de passer en mode avion (oups, pas de réseau?) Et le retour (ah, il est là) devrait faire l'affaire. Cela peut sembler stupide, mais je pourrais imaginer qu'en entrant en mode avion, Android fait quelque chose de similaire
/etc/init.d/networking stop
, qui a un flush DNS comme effet secondaire.Une solution très simple a été fournie par dtumaykin dans les commentaires ci-dessous: le simple fait de passer en mode avion et vice-versa pourrait déjà le faire (bien sûr avec l'effet secondaire du réseau en baisse pendant quelques secondes;) Bien que cela puisse ne pas fonctionner sur certains appareils, cela vaut la peine d'essayer: aucune installation supplémentaire, et facilement effectuée même par n00bs.
Si quelqu'un a essayé l'une de ces solutions, la confirmation (ou l'inverse) est certainement la bienvenue :)
la source
ndc resolver flushdefaultif
etndc resolver flushif wlan0
; ils ont besoin de racine. Il existe également la méthode NetworkManagementService.flushDefaultDnsCache () , qui nécessitait juste CHANGE_NETWORK_STATE avant JB, mais a ensuite été verrouillée sur CONNECTIVITY_INTERNAL. Il y avait donc apparemment un moyen piraté de nettoyer le cache DNS sans racine (après le réglage de build.prop pour tuer le cache au niveau Java), mais cela ne fonctionnera pas dans JB.Dans les versions modernes d'Android, il existe une option pour effacer le cache DNS de Chrome sous chrome: // net-internals / # dns
la source
Dans mon cas, je n'avais qu'un seul nom de domaine dont j'avais besoin d'être vidé. Des suggestions telles que le basculement du mode avion, un redémarrage dur ou les actions dans chrome: // net-internals / # dns n'ont pas fonctionné pour moi. Au lieu de cela, j'ai temporairement modifié mes paramètres WiFi pour utiliser le serveur de noms de Google à 8.8.8.8.
Ce sont les étapes que j'ai prises:
Après ces étapes, lorsque j'ai
ping
édité le nom de domaine dans la console, il s'est résolu à la bonne adresse IP et a semblé écraser l'ancienne mise en cache. Vraisemblablement, la visite du domaine dans un navigateur aura le même effet.Lorsque je suis retourné au WiFi et que j'ai redéfini "Paramètres IP" sur "DHCP", le domaine correct a continué à se résoudre à l'adresse IP actuelle.
C'est sur un Sony Xperia Z3 sous Android 5.1.1
la source
Sur un Adroid 5.1 Mobile qui a pris un mauvais DNS car il est passé à beaucoup entre deux WLAN; (Un point d'interrogation sur une connexion WLAN. Je ne voulais pas restaurer mon téléphone comme je l'ai fait une fois .. Engelsiz: DNS Changer l'a corrigé; )
la source