Wo befindet sich der DNS-Cache unter Windows 8.1?

4283
Green

Ich lese über DNS-Cache und vor allem über ipconfig /flushdnsBefehle. Es gibt viele Ressourcen (QA, Blogs, Websites), die den DNS-Cache erklären, aber keine davon gibt an, wo sich der DNS-Cache auf meinem Windows 8.1-Computer befindet. Wenn ich es richtig verstanden habe, sollte es eine Datei mit Zuordnungen sein, etwa wie folgt:

example.com 123.123.123.123 foo.net 123.123.0.0 

Vor dem Start ipconfig /flushdnsmöchte ich die DNS-Cache-Datei sehen. Wo finde ich es auf meiner Maschine?

1
Wahrscheinlich im Speicher. Daniel B vor 8 Jahren 0

3 Antworten auf die Frage

2
TOOGAM

Wenn Sie den DNS-Cache anzeigen möchten, werden aktuelle Versionen von Microsoft Windows unterstützt IPConfig /displaydns

(Ich glaube nicht, dass Windows 98 es unterstützt hat; auch Win98 wurde nicht unterstützt ipconfig /flushdns. Ich würde vermuten, dass beide Optionen der gleichen Version von Microsoft Windows hinzugefügt wurden.)

Dies ist die typische / einfache Möglichkeit, solche Informationen anzuzeigen.

Ich bin nicht ganz sicher, in welcher Datei diese Informationen gespeichert sind. Ich bin ziemlich sicher, dass sie nicht das von Ihnen gezeigte HOSTS-ähnliche Format verwendet, da ich mir sicher bin, dass sie auch die Ablaufzeit verfolgt. Mit dem Process Explorer können Sie herausfinden, auf welche Datei bei der Verwendung zugegriffen wird IPConfig/displaydns.

Es gibt keine "Cache-Datei" - der Cache wird nur im Arbeitsspeicher gehalten. Sie wird vom "DNS-Client" -Dienst (intern als "Dnscache" bezeichnet) verwaltet, daher befinden sich die Cache-Daten irgendwo in einem der "svchost.exe" -Prozesse. grawity vor 8 Jahren 0
1
Jonno

Um nur zu sichern, was andere gesagt haben, indem Sie Process Hackernach Zeichenketten suchen svchost.exe, können Sie die im Speicher gespeicherten Einträge sehen. Z.B.

enter image description here

Eine weitaus weniger nützliche Ausgabe als die einfache Verwendung ipconfig /displaydns(die Sie jederzeit in eine Datei ausgeben können, ipconfig /displaydns>output.txtwenn Sie dies wünschen).

0
BobH2

Der Cache wird möglicherweise im Arbeitsspeicher aufbewahrt, und der lokale DNS-Dienst enthält möglicherweise keine Cache-Datei, es gibt jedoch etwas mehr.

In ipconfig / displaydns wurden Einträge zwischen Neustarts für mich beibehalten. Es muss irgendwo auf der Festplatte aufbewahrt werden.

Ich hatte heute ein DNS-Problem und als ich mit einer alten VM überprüfte, entdeckte ich einige wirklich alte Einträge in meinem lokalen DNS-Cache. Dies waren Einträge aus meiner alten Firma, und ich dachte zuerst, vielleicht hackten sie oder ich war irgendwie noch mit ihrem Netzwerk verbunden. Sie enthielten aber auch einige meiner eigenen Einträge von VMs von vor einiger Zeit.

ipconfig / flushdns löscht die Einträge nicht. Ich habe versucht, den DNS-Dienst anzuhalten und neu zu starten. Hat nicht geholfen. Ich habe meinen Router vom Internet getrennt und die Einträge sind noch vorhanden. Dann fiel mir ein, dass diese VM von vor langer Zeit ein Domänencontroller und DNS-Server war. Ich vermutete, dass etwas nicht korrekt deinstalliert wurde.

Ich verwendete procman.exe und isolierte die Instanz von svchost.exe, die auf Ping-Anfragen reagierte. Auf einem Ping öffnete es die hosts-Datei und sonst nichts. Blöd mich, ich hätte die hosts-Datei vor dem Start überprüfen sollen. Alle alten Einträge waren in der Hosts-Datei. Sobald sie dort gelöscht wurden, wurden sie nicht in ipconfig / displaydns angezeigt.

Wenn der lokale DNS-Dienst gestoppt und erneut gestartet wird, werden vorhandene Einträge gelöscht, so dass die Bestätigung besteht, dass sie nur im Cache-Speicher gespeichert werden. Ja, permanente ipconfig-dns-Einträge, die von ping über die lokalen dns verwendet werden, befinden sich in c: \ windows \ system32 \ drivers \ etc \ hosts.

Ich hoffe, das hilft allen anderen, die versuchen, das Problem zu beheben.