Un petit article rapide pour vous informer que je cherche un moyen de changer les serveurs DNS sur Android sans le rooter. On peut le faire manuellement dans les paramètres avancés de la connexion Wi-Fi, mais ça ne fonctionne qu’avec le Wi-Fi et nécessite de définir un adressage statique pour chaque point d’accès qu’on utilise.

Après recherche, j’ai trouvé une application sur le Play Store, DNSet, qui propose cela. Dans la description, on nous explique que l’application crée un VPN local pour dérouter le trafic DNS vers le serveur de son choix. Bon, pour 99 centimes, je tente.

J’ai un serveur DNS personnel. Je me connecte dessus en SSH et lance une écoute avec tcpdump pour capter le trafic DNS. Je lance l’appli, précise l’adresse de mon serveur. Le VPN s’établit, je lance Twitter pour tester. Résultat :

root@XXX:~# tcpdump -i XXX udp port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on XXX, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
22:13:15.141006 IP XXX.62129 > XXX.net.domain: 61136+ A? settings.crashlytics.com. (42)
22:13:15.163342 IP XXX.net.56316 > l.gtld-servers.net.domain: 52203% [1au] A? settings.crashlytics.com. (53)
[…]

Ahem. C’est quoi, ça ? Ça ne ressemble pas à Twitter. Si je configure mon DNS manuellement dans ma connexion Wi-Fi, ça donne quoi ?

root@XXX:~# tcpdump -i XXX udp port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on XXX, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
22:38:58.292666 IP XXX.6736 > XXX.net.domain: 5743+ A? twitter.com. (29)

Ah oui. Ok. Donc cette application pue à mort. Ne l’utilisez pas. Je l’ai immédiatement désinstallée après ce test. Et elle m’a été remboursée. Je n’en demandais pas tant !

TL;DR : DNSet altère vos requêtes DNS !

Voilà. Au passage, quand vous configurez vos paramètres DNS du Wi-Fi, ne vous plantez pas dans l’adresse. J’ai eu le malheur de mettre un zéro en trop, ça a fait crasher Android. Et ça crashait continuellement tant que le Wi-Fi était activé et que le smartphone tentait de se connecter au point d’accès mal configuré. J’ai dû aller dans un autre endroit, où le réseau maudit n’était pas, pour pouvoir faire « Oublier » et rétablir sa configuration par défaut.

Du coup, je cherche un développeur Android qui saurait faire une application où on peut changer le serveur DNS et qui n’altèrerait pas les requêtes. N’hésitez pas à me contacter !