Was mDNSResponder eigentlich ist
mDNSResponder ist ein System-Daemon, der in macOS integriert ist und von Apple signiert wurde. Es ist keine Malware, kein Add-on und nichts, was du installiert hast — es wird mit dem Betriebssystem ausgeliefert und startet automatisch.
Es erfüllt zwei unterschiedliche Aufgaben, und das Verwechseln dieser ist die Ursache für die meiste Verwirrung darum. Die erste ist multicast DNS und Dienstentdeckung — das ist Apples Bonjour, die Technologie, die deinem Mac ermöglicht, Drucker, AirPlay-Empfänger, Chromecasts, freigegebene Laufwerke, HomeKit-Zubehör und andere Macs im lokalen Netzwerk ohne manuelle Konfiguration zu finden. Dieser Datenverkehr wird an eine Multicast-Adresse auf UDP-Port 5353 gesendet, dem Standardport für mDNS.
Die zweite Aufgabe ist diejenige, die in den meisten Erklärungen ausgelassen wird: Auf macOS ist mDNSResponder auch der systemweite DNS-Resolver. Wenn eine Anwendung auf deinem Mac einen Hostnamen in eine IP-Adresse umwandeln muss, wird die Anfrage typischerweise von mDNSResponder im Auftrag dieser Anwendung bearbeitet, anstatt direkt von der Anwendung selbst.
Beide Aufgaben laufen im selben Prozess. Wenn du also siehst, dass mDNSResponder aktiv ist, siehst du die kombinierte Aktivität von lokaler Netzwerkerkennung und jeder Namensauflösung, die dein Mac durchführt.
Warum es so scheint, als würde es so viele Hosts kontaktieren
Das ist der Teil, der die Leute beunruhigt, und es gibt eine banale Erklärung. Weil mDNSResponder Namen im Auftrag anderer Prozesse auflöst, erscheinen fast alle DNS-Anfragen deines Macs so, als kämen sie von mDNSResponder, anstatt von der Anwendung, die die Adresse tatsächlich wollte.
Dein Browser lädt eine Seite mit einem Dutzend Drittanbieter-Ressourcen, dein E-Mail-Client prüft Konten, ein Hintergrund-Update-Programm, eine Chat-App, die sich neu verbindet — keine dieser Aktivitäten erscheint in einer DNS-Ansicht als eigene Aktivität. Sie erscheinen als mDNSResponder, das mit deinen konfigurierten DNS-Servern kommuniziert. Von außen betrachtet, scheint ein Prozess an einer enormen und ständig wechselnden Liste von Domains interessiert zu sein.
Diese einzelne Tatsache erklärt den größten Teil des Verdachts. Dass mDNSResponder viele Hosts kontaktiert, bedeutet nicht, dass mDNSResponder verdächtige Aktivitäten durchführt. Es ist ein Proxy. Die Aktivität gehört zu der Software, die die Anfrage gestellt hat; mDNSResponder ist nur die Komponente, die sie ausführt.
Es erklärt auch, warum der Prozess selten still bleibt. Ein moderner Mac hat ein konstantes Hintergrundgeräusch von Software, die sich meldet — Synchronisationsdienste, Push-Benachrichtigungen, Update-Checks, Telemetrie von installierten Apps. Jede dieser Aktivitäten benötigt zuerst eine Namensauflösung, und alles läuft durch dasselbe Daemon.
Ist mDNSResponder sicher, und wie kannst du das selbst überprüfen
mDNSResponder ist ein legitimer Bestandteil von macOS. Es gibt keine bedeutende Historie, dass es sich als Tarnung für etwas Bösartiges ausgegeben hat, und auf einem normal funktionierenden Mac solltest du genau eine Instanz davon laufen sehen.
Du musst das nicht einfach glauben. Wähle im Activity Monitor den Prozess aus und öffne den Inspector, um die Details zu sehen, einschließlich des Pfads zur ausführbaren Datei, von der er gestartet wurde. Apples System-Daemons befinden sich in geschützten Systemverzeichnissen, nicht in deinem Home-Ordner, Downloads oder Applications. Ein Prozess mit dem Namen mDNSResponder, der jedoch von einem ungewöhnlichen Ort ausgeführt wird, wäre ein Grund, genauer hinzuschauen — der Name allein ist kein Beweis für etwas.
Die zuverlässigere Überprüfung ist die Code-Signatur. macOS wird mit dem codesign-Tool geliefert, und eine Überprüfung anhand des Pfads des laufenden Binaries zeigt dir die Signaturstelle. Apples eigene Systemkomponenten sind von Apple signiert. Auf aktuellen macOS-Versionen liegen Systemdateien auch auf einem versiegelten, schreibgeschützten Systemvolumen, was Manipulationen am echten Binary deutlich erschwert.
Eine weitere Sicherheitsüberprüfung: Hohe Aktivität von mDNSResponder ist normal, aber anhaltend hohe CPU-Auslastung über Stunden ist es nicht. Das ist meist ein Anzeichen für etwas anderes in deinem Netzwerk oder auf deinem Mac, was im nächsten Abschnitt behandelt wird.
Behebung hoher CPU- oder konstanter Netzwerkaktivität
Wenn mDNSResponder wirklich Fehlverhalten zeigt, liegt die Ursache fast immer außerhalb davon. Die üblichen Verdächtigen: ein stark ausgelastetes lokales Netzwerk mit viel Bonjour-Verkehr, ein Drucker oder NAS, das sich aggressiv bewirbt, VPN- oder Drittanbieter-DNS-Software, die mit dem Systemresolver kollidiert, captive-portal-Überprüfungen in einem Hotel- oder Café-Netzwerk oder eine einzelne App auf deinem Mac, die in einer Schleife Abfragen durchführt.
Arbeite dich in der Reihenfolge des Aufwandes vor. Zuerst schalte Wi-Fi aus und wieder ein oder trenne kurz vom Netzwerk — das löscht eine überraschend große Anzahl an temporären Zuständen. Wenn das nicht hilft, starte neu; ein Neustart setzt den Daemon zusammen mit allem, was ihn speist, zurück. Wenn das Problem nur in einem Netzwerk auftritt, ist das Netzwerk die Variable, nicht dein Mac: Versuche ein anderes, um das zu bestätigen, und schau, was sich dort bewirbt. Wenn du kürzlich einen VPN-Client, ein DNS-Filter-Tool oder eine andere Netzwerk-Erweiterung installiert hast, deaktiviere es vorübergehend, um schnell zu erkennen, ob es der Auslöser ist. Wenn das Problem dich über Netzwerke hinweg begleitet und einen Neustart überlebt, vermute eine bestimmte Anwendung und beende nacheinander kürzlich installierte oder aktualisierte Apps.
Was du auf keinen Fall tun solltest, ist es, es in einer Firewall zu blockieren. Blockiere mDNSResponder niemals in einer Firewall. Da es der systemweite Resolver ist, stoppt das Blockieren die Namensauflösung für den gesamten Mac — Browser, Mail, der App Store, Software-Updates und alles andere, was das Netzwerk berührt, wird fehlschlagen, meist mit verwirrenden Fehlermeldungen, die nicht auf die Firewall-Regel zurückzuführen sind, die du hinzugefügt hast. Es ist einer der wenigen Prozesse, bei denen Blockieren mehr Schaden anrichtet als der Traffic, den es eigentlich stoppen soll.
Wenn dein tatsächliches Ziel weniger lokales Netzwerk-Geräusch ist, ziele auf die Funktionen statt auf den Resolver. Schalte AirPlay-Receiver, Druckerfreigabe, Dateifreigabe und andere Bonjour-abhängige Dienste, die du nicht nutzt, aus, um zu reduzieren, was dein Mac bewirbt und empfängt, ohne DNS zu unterbrechen. Das ist der richtige Hebel.
Herausfinden, welche App tatsächlich eine Abfrage ausgelöst hat
Die Folge zentralisierter Auflösung ist ein Zuordnungsproblem. Wenn du Verbindungen auf Systemebene beobachtest, ist ein großer Anteil der interessanten DNS-Aktivität mit mDNSResponder gekennzeichnet, und du kannst anhand dieses Labels allein nicht erkennen, ob die Domain von deinem Browser, einem Hintergrund-Update oder einer App, die heimlich nach Hause telefoniert, angefragt wurde.
Dafür brauchst du ein Tool, das Verbindungen pro Prozess überwacht und die Aktivität auf die auslösende App zurückführt, anstatt auf den Daemon, der die Abfrage durchgeführt hat. Genau das ist die Lücke, NetMute wurde entwickelt, um sie zu schließen: Es zeigt den Echtzeit-Traffic pro App und pro Prozess und führt Domain-Logs pro App, also welche Domains eine Anwendung kontaktiert hat, wann und wie viel Daten übertragen wurden. Anstelle eines einzelnen, beschäftigten Daemons erhältst du ein App-übergreifendes Bild davon, was dein Mac tatsächlich kommuniziert.
Von dort aus ist die Reaktion gezielt. NetMute's per-App Firewall ermöglicht es dir, eine bestimmte Anwendung mit einem Klick zu blockieren oder eine selbstablaufende temporäre Regel anzuwenden, wenn du nur etwas für eine Weile zum Schweigen bringen willst. Netzwerkprofile erlauben es, Regeln zwischen Zuhause, Büro und untrusted Netzwerken zu unterscheiden, und Tracker Shield deckt eine Liste von über 1.100 bekannten Tracker-Domains ab. All das beeinträchtigt nicht den mDNSResponder selbst — du lässt den Resolver in Ruhe und handelst mit der App, die die Anfragen generiert, was die einzige Lösung ist, die den Rest deines Mac nicht beeinträchtigt.