# Vider le cache DNS sur Mac

> La commande Terminal qui vide le cache DNS de macOS, quand le vidage aide, et quand la vraie cause est un proxy, un VPN, le navigateur ou /etc/hosts.

Published: 2026-10-11 | Updated: 2026-10-17

Pour vider le cache DNS sur Mac, ouvrez **Terminal** depuis **Applications › Utilitaires** et exécutez :

```shell
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
```

Saisissez le mot de passe de session de votre Mac quand il vous est demandé. Rien ne s’affiche quand la commande réussit. Redémarrer le Mac vide aussi le cache : l’[article d’Apple sur le cache DNS](https://support.apple.com/101481) indique que vous pouvez redémarrer votre Mac pour mettre à jour ses informations en cache.

Cet article d’Apple est archivé et n’est plus mis à jour. Son entrée la plus récente, pour OS X Yosemite 10.10.4 et versions ultérieures, est `sudo killall -HUP mDNSResponder` ; `dscacheutil -flushcache` est la commande qu’il indique pour Snow Leopard. Apple n’a pas publié de version plus récente, donc la ligne ci-dessus exécute les deux : la partie `killall` est celle qu’Apple donne pour les versions actuelles, et `dscacheutil -flushcache` vide le cache du Directory Service selon sa page de manuel (`man dscacheutil`), qui précise aussi de ne l’utiliser que dans des cas extrêmes. Une réponse DNS périmée fait partie de ces cas. Mole Mac ne vide pas le cache DNS ; c’est une tâche pour le Terminal.

## Ce qu’est le cache DNS

Quand une app se connecte à `example.com`, macOS doit d’abord transformer ce nom en adresse IP. Sur Mac, cette résolution passe par `mDNSResponder`. Sa page de manuel (`man mDNSResponder`) le décrit comme le daemon qui effectue les requêtes DNS pour le compte d’autres processus et conserve un cache des réponses.

Le cache évite un aller-retour à chaque résolution répétée. Chaque réponse est conservée pendant la durée autorisée par les enregistrements DNS du domaine, puis demandée de nouveau. La plupart du temps, cela fonctionne sans que personne ne s’en aperçoive. Les choses se gâtent quand la réponse en cache devient fausse avant d’expirer : un site a déménagé sur un nouveau serveur, vous avez changé de serveurs DNS, ou une résolution a échoué une fois et cet échec est encore réutilisé.

Dans `killall -HUP mDNSResponder`, `-HUP` choisit le signal envoyé par `killall` ; sans lui, `killall` envoie TERM (`man killall`). Apple indique la forme HUP comme moyen de réinitialiser le cache DNS, alors ne retirez pas cette option et ne la remplacez pas par `-9`.

## Quand vider le cache DNS aide

| Situation | Pourquoi vider le cache aide |
|---|---|
| Un site ou un serveur a déménagé et votre Mac atteint encore l’ancienne adresse | La réponse en cache n’a pas encore expiré |
| Vous avez changé les serveurs DNS dans les réglages Réseau | Les anciennes réponses des serveurs précédents sont encore en cache |
| Vous avez modifié `/etc/hosts` et le changement est ignoré | La page de manuel de `hosts` indique que le fichier est lu par mDNSResponder, qui peut encore garder l’ancienne réponse |
| Un site n’a pas pu être résolu il y a une minute et échoue toujours alors que d’autres appareils l’atteignent | Une résolution échouée peut être en cache |

## Quand cela n’aide pas

Vider le cache ne vide que le cache du résolveur du Mac. Plusieurs configurations courantes rendent l’opération inutile :

- **Proxy.** Si le trafic passe par un proxy HTTP ou SOCKS, le proxy résout souvent les noms lui-même. Vérifiez avec `scutil --proxy`, qui affiche la configuration actuelle du proxy système.
- **VPN.** Un VPN peut installer ses propres serveurs DNS ou ne leur envoyer que certains domaines. `scutil --dns` affiche tous les résolveurs utilisés ; les résolveurs complémentaires qui listent un domaine ne servent que pour ce domaine. Si un domaine professionnel échoue, c’est du côté du DNS du VPN qu’il faut regarder.
- **Le cache propre au navigateur.** Les navigateurs peuvent garder leurs propres résultats DNS de courte durée et réutiliser des connexions ouvertes. Après avoir vidé le cache, quittez complètement le navigateur et rouvrez-le, au lieu de simplement recharger l’onglet.
- **Les caches en amont.** Votre routeur et votre fournisseur DNS mettent aussi les réponses en cache. Vider le cache du Mac ne peut pas les obliger à récupérer plus tôt un nouvel enregistrement.
- **Le site est réellement en panne,** ou bloqué sur votre réseau. Si d’autres appareils sur un autre réseau échouent aussi, le DNS de votre Mac n’y est pour rien.

Si les pages sont lentes plutôt qu’en échec, le cache DNS est rarement le goulot d’étranglement. [Le WiFi du Mac se bloque](https://mole.fit/fr/blog/mac-wifi-stutter-awdl) et [Repérer quelle app utilise votre réseau](https://mole.fit/fr/blog/what-app-is-using-my-network-mac) couvrent des causes plus probables.

## Vérifier ce que votre Mac résout réellement

Interrogez le résolveur système pour voir la réponse que reçoivent vos apps :

```shell
dscacheutil -q host -a name example.com
```

La page de manuel de `dscacheutil` indique que `-q` lance une requête par les appels standard, en renvoyant des résultats en cache ou en récupérant des données à jour.

Interrogez ensuite directement un serveur DNS :

```shell
dig example.com
```

`dig` ne passe pas par le résolveur de macOS. Sa page de manuel indique qu’il utilise les serveurs listés dans `/etc/resolv.conf`, et ce fichier contient sur macOS un avertissement précisant qu’il n’est pas consulté pour la résolution DNS utilisée par la plupart des processus du système. Si `dig` renvoie la nouvelle adresse et `dscacheutil` l’ancienne, la différence vient du cache du Mac ou de la configuration de son résolveur, et vider le cache devrait régler le problème. Si les deux renvoient l’ancienne adresse, l’enregistrement n’a pas encore changé en amont.

Pour voir quels serveurs DNS le Mac utilise :

```shell
scutil --dns
```

Les serveurs que vous avez définis à la main se trouvent dans **Réglages Système › Réseau** : sélectionnez un service réseau, cliquez sur **Détails**, puis sur **DNS** ([Apple](https://support.apple.com/guide/mac-help/change-dns-settings-on-mac-mh14127/mac)).

## Vérifier /etc/hosts avant d’accuser le cache

`/etc/hosts` remplace le DNS pour tous les noms qu’il liste. Des outils de développement, des bloqueurs de publicité et de vieux tutoriels y ajoutent parfois des lignes et les y laissent. Pour le lire :

```shell
cat /etc/hosts
```

Un fichier normal ne contient que quelques lignes pour `localhost` et des commentaires commençant par `#`. Si vous y voyez le domaine qui pose problème, c’est cette ligne qui explique sa résolution. Modifiez uniquement cette ligne, avec un éditeur lancé via `sudo`, gardez une copie de l’original, puis videz le cache. Ne supprimez pas les entrées `localhost`.

## Vérifier le résultat

1. Exécutez la commande de vidage du cache.
2. Relancez `dscacheutil -q host -a name example.com` avec le domaine problématique et vérifiez l’adresse.
3. Quittez et rouvrez le navigateur ou l’app qui posait problème.
4. Si cela échoue encore, comparez avec `dig`, `scutil --dns` et `scutil --proxy` pour savoir quelle couche répond.

## Ce qu’il ne faut pas faire

- Ne videz pas le cache DNS à intervalles réguliers ou pour gagner en vitesse. Un cache rempli accélère les résolutions, et un cache vide ralentit les suivantes.
- Ne supprimez pas `/etc/hosts` et ne modifiez pas ses autorisations.
- Ne changez pas de serveurs DNS sur un Mac professionnel ou scolaire qui utilise un VPN ou un profil de gestion sans en parler à la personne qui le gère ; les noms internes pourraient ne plus être résolus.
- Ne modifiez pas les réglages de proxy ou de VPN pour « tester le DNS ». Identifiez d’abord la couche qui répond.

## FAQ

### Comment vider le cache DNS sur Mac ?

Exécutez `sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder` dans le Terminal et saisissez votre mot de passe. Redémarrer le Mac le vide aussi.

### Quelle est la commande pour vider le cache DNS sur les versions actuelles de macOS ?

L’article archivé d’Apple indique `sudo killall -HUP mDNSResponder` pour OS X 10.10.4 et versions ultérieures, et Apple n’en a pas publié de plus récent. Lancer aussi `sudo dscacheutil -flushcache` avant est courant ; cette commande ne vide que des données en cache.

### Vider le cache DNS du Mac vide-t-il le cache du navigateur ?

Non. Cela ne vide que le cache du résolveur de macOS. Quittez et rouvrez le navigateur pour qu’il ne réutilise pas ses propres résultats DNS ou ses connexions ouvertes.

### Pourquoi un site renvoie-t-il encore vers l’ancienne adresse après le vidage ?

Vérifiez `/etc/hosts`, un éventuel proxy ou VPN, et si `dig` affiche la nouvelle adresse. Si l’enregistrement DNS n’a pas encore changé en amont, aucun vidage local ne peut aider.

### Mole peut-il vider le cache DNS ?

Non. Mole Mac n’inclut pas de vidage du cache DNS ; exécutez la commande Terminal ci-dessus ou redémarrez le Mac.

---

Canonical HTML page: https://mole.fit/fr/blog/how-to-flush-dns-cache-mac
Blog index for agents: https://mole.fit/fr/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
