NetMute

O que é o mDNSResponder no Mac? Bonjour, DNS e uso elevado de rede explicados

Você abriu o Activity Monitor, ordenou por rede ou CPU, e o mDNSResponder estava perto do topo. Ou um log do firewall mostrou ele entrando em contato com dezenas de endereços que você não reconhecia. É um dos processos mais mal compreendidos no macOS, principalmente porque a explicação comum — "é Bonjour, ele encontra impressoras" — é apenas metade da história. A outra metade explica quase tudo que as pessoas acham alarmante sobre ele.

Leitura de 7 minAtualizado

O que realmente é o mDNSResponder

O mDNSResponder é um daemon do sistema integrado ao macOS e assinado digitalmente pela Apple. Não é malware, nem um complemento, e nem algo que você instalou — ele vem junto com o sistema operacional e inicia automaticamente.

Ele realiza duas tarefas distintas, e confundi-las é a origem da maior parte da confusão ao redor dele. A primeira é multicast DNS e descoberta de serviços — essa é a Bonjour da Apple, a tecnologia que permite ao seu Mac encontrar impressoras, receptores AirPlay, Chromecasts, unidades compartilhadas, acessórios HomeKit e outros Macs na sua rede local sem configuração manual. Esse tráfego é enviado para um endereço multicast na porta UDP 5353, que é a porta padrão do mDNS.

A segunda tarefa é a que a maioria das explicações ignora: no macOS, o mDNSResponder também é o resolutor DNS de todo o sistema. Quando qualquer aplicativo no seu Mac precisa transformar um nome de host em um endereço IP, a solicitação geralmente é tratada pelo mDNSResponder em nome daquele aplicativo, ao invés de pelo próprio aplicativo.

Ambas as tarefas rodam dentro do mesmo processo. Então, quando você vê o mDNSResponder ocupado, está vendo o resultado combinado da descoberta na rede local e de cada consulta de nome que seu Mac realiza.

Por que parece que ele contacta tantos hosts

Essa é a parte que alarma as pessoas, e tem uma explicação simples. Como o mDNSResponder resolve nomes em nome de outros processos, praticamente todas as buscas DNS do seu Mac parecem originar-se do próprio mDNSResponder, ao invés do aplicativo que realmente queria o endereço.

Seu navegador carregando uma página com uma dúzia de recursos de terceiros, seu cliente de email verificando contas, um atualizador em segundo plano, um aplicativo de chat reconectando — nenhum deles aparece como eles próprios na visualização de DNS. Eles aparecem como o comunicação do mDNSResponder com seus servidores DNS configurados. Do ponto de vista externo, parece que um processo está interessado em uma lista enorme e constantemente mutável de domínios.

Esse fato único explica a maior parte da suspeita. Ver o mDNSResponder contactando muitos hosts não significa que ele esteja fazendo algo suspeito. Ele é um proxy. A atividade pertence ao software que solicitou a consulta; o mDNSResponder é apenas o componente que a realiza.

Também explica por que o processo raramente fica quieto. Um Mac moderno tem um zumbido constante de software verificando conexões — serviços de sincronização, notificações push, verificações de atualização, telemetria de aplicativos instalados. Cada um deles precisa de resolução de nomes primeiro, e tudo passa pelo mesmo daemon.

O mDNSResponder é seguro, e como verificar isso você mesmo

mDNSResponder é uma parte legítima do macOS. Não há um histórico relevante de que ele seja uma máscara para algo malicioso, e em um Mac funcionando normalmente você deve esperar ver exatamente uma instância dele em execução.

Você não precisa acreditar nisso só por acreditar. No Activity Monitor, selecione o processo e abra o inspetor para ver seus detalhes, incluindo o caminho para o executável de onde foi iniciado. Os daemons do sistema da Apple vivem dentro de diretórios protegidos do sistema, não na sua pasta home, Downloads ou Applications. Um processo usando o nome mDNSResponder, mas rodando de um local incomum, seria algo que vale a pena investigar — o nome por si só não é prova de nada.

A verificação mais robusta é a assinatura do código. O macOS vem com a ferramenta codesign, e rodar uma verificação contra o caminho do binário em execução mostrará a autoridade de assinatura. Os componentes do sistema da Apple são assinados pela Apple. Em versões recentes do macOS, os arquivos do sistema também ficam em um volume de sistema selado e só de leitura, o que torna a adulteração do binário real consideravelmente mais difícil do que costumava ser.

Mais uma verificação de sanidade: alta atividade do mDNSResponder é normal, mas uso elevado e sustentado de CPU por horas não é. Isso geralmente é um sintoma de algo mais na sua rede ou no seu Mac, que é o que a próxima seção cobre.

Consertando alta CPU ou atividade constante na rede

Quando o mDNSResponder realmente se comporta mal, a causa quase sempre está fora dele. Os suspeitos habituais: uma rede local ocupada com bastante tráfego Bonjour, uma impressora ou NAS se anunciando de forma agressiva, VPN ou software DNS de terceiros em conflito com o resolvedor do sistema, sondagem de portal cativo em uma rede de hotel ou café, ou um único app no seu Mac fazendo buscas em um loop apertado.

Resolva na ordem do esforço. Primeiro, desative e ative o Wi-Fi, ou desconecte-se brevemente da rede — isso limpa um número surpreendente de estados transitórios. Se isso não ajudar, reinicie; uma reinicialização reinicia o daemon junto com tudo que o alimenta. Se o problema só ocorrer em uma rede, a rede é a variável, não seu Mac: tente uma diferente para confirmar, e veja o que está se anunciando lá. Se você instalou recentemente um cliente VPN, uma ferramenta de filtragem DNS, ou qualquer outro que instale uma extensão de rede, desativá-lo temporariamente vai dizer-lhe rapidamente se ele é o gatilho. Se o problema o acompanha em várias redes e sobrevive a uma reinicialização, desconfie de um aplicativo específico e comece fechando apps instalados ou atualizados recentemente, um de cada vez.

O que você não deve fazer é bloqueá-lo. Nunca bloqueie o mDNSResponder em um firewall. Como ele é o resolvedor do sistema, bloqueá-lo impede a resolução de nomes para todo o Mac — navegadores, Mail, o App Store, atualizações de software, e qualquer outro serviço que use a rede vão falhar, geralmente com erros confusos que não apontam de volta para a regra do firewall que você adicionou. É um dos poucos processos em que bloquear causa muito mais dano do que o tráfego que deveria impedir.

Se seu objetivo real é reduzir a chatter da rede local, foque nas funcionalidades em vez do resolvedor. Desligar o receptor AirPlay, compartilhamento de impressora, compartilhamento de arquivos e outros serviços dependentes do Bonjour que você não usa reduz o que seu Mac anuncia e escuta, sem quebrar o DNS. Essa é a alavanca correta.

Descobrindo qual aplicativo realmente acionou uma busca

A consequência de resolução centralizada é um problema de atribuição. Se você monitora conexões no nível do sistema, uma grande parte da atividade DNS interessante é rotulada como mDNSResponder, e você não consegue dizer só por esse rótulo se o domínio foi solicitado pelo seu navegador, por um atualizador de fundo, ou por um app que está telefonando para casa silenciosamente.

Para responder isso, é preciso uma ferramenta que monitore conexões por processo e mapeie a atividade de volta ao app de origem, ao invés de ao daemon que realizou a busca. Essa é a lacuna que o NetMute foi criado para fechar: ele mostra o tráfego em tempo real por app e por processo, e mantém logs de domínio por app — quais domínios um aplicativo entrou em contato, quando, e quanto de dado foi transferido. Em vez de um daemon ocupado, você tem uma visão por app do que seu Mac realmente está conversando.

A partir daí, a resposta é direcionada. O firewall per-app do NetMute permite bloquear um aplicativo específico com um clique, ou aplicar uma regra temporária de expiração automática quando você só quer silenciar algo por um tempo. Perfis de rede permitem que regras variem entre casa, escritório, e redes não confiáveis, e o Tracker Shield cobre uma lista de mais de 1.100 domínios de trackers conhecidos. Nada disso interfere no mDNSResponder — você deixa o resolvedor em paz e age sobre o app que gerou as requisições, que é a única solução que não quebra o restante do seu Mac.

Perguntas frequentes sobre mDNSResponder

Veja qual aplicativo está realmente por trás do tráfego

NetMute mostra atividade de rede em tempo real por aplicativo, registra os domínios que cada um contacta e permite bloquear qualquer um deles com um clique. Gratuito para baixar na Mac App Store, com Premium disponível como uma compra única dentro do aplicativo — sem assinatura.

Baixe o NetMute