Glossario/Processi che vedrai

mDNSResponder

Anche: Bonjour e DNS

In breve

mDNSResponder è il processo di macOS che trasforma ogni nome di dominio in un indirizzo. È il resolver DNS del Mac, e gestisce anche Bonjour, che trova stampanti, altoparlanti AirPlay, Mac condivisi e altri dispositivi sulla rete locale senza alcuna configurazione.

Quando un’app apre un sito web o si connette a un server, chiede l’indirizzo a mDNSResponder. Lui salva le risposte in cache, così le ricerche ripetute sono istantanee. Gira con un suo account di sistema, _mdnsresponder, non con il tuo utente.

Il suo carico segue quanti nomi vengono cercati. Un browser con molte schede, una VPN o una rete locale affollata con molti dispositivi Bonjour gli danno tutti più da fare.

Perché mDNSResponder usa la CPU

I picchi brevi arrivano da raffiche di ricerche: molte schede nuove, un’app che si sincronizza con molti server o dispositivi che si collegano alla rete. Un uso prolungato di solito indica qualcosa che ripete le ricerche in loop, una VPN o un filtro DNS che si comporta male, o una rete in cui gli annunci Bonjour non si fermano mai.

Quando i siti web non si caricano con il nome ma funzionano con l’indirizzo, o un sito ha cambiato server e il Mac va ancora su quello vecchio, il sospettato è la cache.

Come svuotare la cache DNS

Due comandi nel Terminale svuotano la cache sulle versioni recenti di macOS e dicono a mDNSResponder di ricaricarsi, senza bisogno di riavviare.

  1. Apri il Terminale.
  2. Esegui sudo dscacheutil -flushcache e inserisci la tua password quando ti viene chiesta.
  3. Esegui sudo killall -HUP mDNSResponder.

Come vedere cosa sta facendo mDNSResponder

Viene eseguito con un suo account di sistema, quindi Monitoraggio Attività lo nasconde finché non chiedi di vedere tutti i processi. Il Terminale può mostrare i suoi due compiti, DNS e Bonjour, uno alla volta.

  1. Apri Monitoraggio Attività, scegli Vista → Tutti i processi e digita mdns nel campo di ricerca. Vedrai mDNSResponder sotto l’account _mdnsresponder, e mDNSResponderHelper sotto root.
  2. Guarda la % CPU nel pannello CPU e le colonne dei pacchetti nel pannello Rete. Brevi picchi sono normali. Un carico costante mentre non stai navigando merita un controllo.
  3. Per vedere quali server DNS usa il Mac, apri il Terminale ed esegui scutil --dns. Resolver #1 elenca i server usati per la maggior parte delle ricerche sotto nameserver[0], nameserver[1] e così via.
  4. Per provare una risoluzione attraverso mDNSResponder stesso, esegui dns-sd -G v4v6 apple.com. Mostra ogni indirizzo man mano che arriva. Premi Control-C per fermarti.
  5. Per vedere cosa trova Bonjour sulla tua rete, esegui dns-sd -B _services._dns-sd._udp local.. Elenca i tipi di servizio che i dispositivi intorno a te annunciano, come _airplay e _ipp per le stampanti. Premi Control-C per fermarti.

Uso normale di mDNSResponder e quando è un problema

Normale: vicino a zero, con brevi picchi quando apri molte schede, ti colleghi a una rete o un dispositivo sulla rete si riattiva.

Da controllare: uso costante di CPU o di rete per ore, oppure nomi che non vengono risolti su una rete ma funzionano su un’altra. Le cause più comuni:

  • Una VPN o un filtro DNS che aggiunge i propri resolver e continua a cambiarli. scutil --dns mostra resolver in più con una riga domain quando una VPN manda alcuni nomi ai propri server.
  • Un’app o uno script che cerca nomi in un loop serrato, spesso uno che continua a riprovare con un server che non riesce a raggiungere.
  • Una rete locale affollata, come un ufficio o un edificio condiviso, con molti dispositivi che si annunciano tramite Bonjour.
  • Una rete che assegna un server DNS lento o che non risponde, così le ricerche aspettano e riprovano.

DNS e Bonjour: i due compiti

I nomi su internet, come apple.com, vanno ai server DNS impostati dalla tua rete o da te. I nomi che finiscono in .local, come il nome di rete del tuo Mac, non escono mai dalla rete locale: mDNSResponder chiede direttamente ai dispositivi intorno, ed è il DNS multicast che gli dà la m del nome.

Ecco perché scutil --dns elenca resolver per local contrassegnati con mdns. Se una stampante o un Mac condiviso sono raggiungibili con il loro nome .local a casa ma non al lavoro, è la rete del lavoro a bloccare quegli annunci locali, non internet.

Domande frequenti

Cos’è mDNSResponder sul Mac?

Il processo di macOS che traduce i nomi di dominio in indirizzi per tutte le app, e gestisce Bonjour per trovare stampanti, altoparlanti AirPlay e altri dispositivi sulla rete.

Posso chiudere mDNSResponder?

macOS lo riavvia subito, e finché non c’è nessuna app può trovare l’indirizzo di un sito web. Per eliminare una risposta sbagliata, svuota la cache DNS invece di chiuderlo.

Perché mDNSResponder vuole accettare connessioni in entrata?

Bonjour resta in ascolto degli altri dispositivi che si annunciano sulla rete locale. Il firewall di macOS lo consente di default; se il tuo lo chiede, consentirlo mantiene funzionanti AirPlay, il rilevamento delle stampanti e la condivisione schermo.

mDNSResponder è sicuro?

Sì. Fa parte di macOS, è firmato da Apple e si trova in /usr/sbin/mDNSResponder. Viene eseguito con un suo account di sistema con permessi limitati, non con il tuo utente né come root.

Cos’è mDNSResponderHelper?

Un piccolo compagno di mDNSResponder che viene eseguito come root e si occupa dei pochi compiti che il suo account limitato non può svolgere da solo. Fa parte di macOS e di solito è inattivo.

Correlati

Cerchi qualcosa di meglio di Monitoraggio Attività? Leggi le migliori alternative a Monitoraggio Attività per Mac, oppure sfoglia tutti i termini del glossario.