Jak znaleźć używany serwer DNS (spośród wielu skonfigurowanych serwerów DNS)

15

Mam skonfigurowane dwa serwery dns, które są wyświetlane podczas przeglądania ipconfig /all

Chciałbym wiedzieć, którego z dwóch serwerów używam w danym momencie, tj. Z mojej przeglądarki lub za pomocą tracertpolecenia. Wierzę, że będę używał pierwszego wymienionego serwera, chyba że będzie niedostępny, w którym momencie będę używał następnego.

Próbuję dowiedzieć się, czy istnieje polecenie, którego mogę użyć, które powie mi, którego używam, lub alternatywnie wyjaśnienie, dlaczego jest to błędne pytanie.

Wiem o ipconfig /displaydnstym, ale jest to buforowana lista wyników, która również nie pokazuje, z którego serwera pochodzi każdy wynik.

Jestem tego świadomy, nslookup [host]ale korzysta z obecnego „domyślnego” serwera.

Wiem o nslookup [server] [host]tym, ale to nie pomaga w potwierdzeniu, które dns aktualnie używam z tracert lub przeglądarki.

Moje pytanie pochodzi z sytuacji, w której nslookup da mi oczekiwany wynik dla konkretnego hosta wewnętrznego. Jednocześnie moja przeglądarka, a także tracertnie są w stanie rozwiązać hosta. Jeśli tracert i moja przeglądarka używają dodatkowego serwera DNS, chciałbym móc to potwierdzić.

Czy jest na to sposób?

Paul George
źródło

Odpowiedzi:

8

System Windows wysyła zapytania do DNS w następującej kolejności:

  1. Plik hostów
  2. Lokalna pamięć podręczna DNS
  3. Preferowane serwery DNS
  4. Inne serwery DNS (drugorzędne, trzeciorzędne, ...)

Możesz dowiedzieć się więcej na temat tego zachowania w Microsoft ( jak działa zapytanie DNS , funkcje klienta ). Ponadto istnieje również lista limitów czasu dla żądań DNS:

Value        Default Value  Attempt
-------------------------------------------------------------------------------------
1st limit    1 second       Query the preferred DNS server on a preferred connection.
2nd limit    2 seconds      Query the preferred DNS server on all connections.
3rd limit    2 seconds      Query all DNS servers on all connections (1st attempt).
4th limit    4 seconds      Query all DNS servers on all connections (2nd attempt).
5th limit    8 seconds      Query all DNS servers on all connections (3rd attempt).
6th value    (Must be 0.)

Windows może zarejestrować limit czasu zapytania DNS gdzieś w Podglądzie zdarzeń, nie jestem tego pewien. Wireshark wspomniany przez @BBlake jest prawdopodobnie najlepszym rozwiązaniem, aby szybko uzyskać odpowiedź.

JC2k8
źródło
9

Myślę, że najlepszym rozwiązaniem jest przejście do dnsleaktest i kliknięcie Test standardowy . Cały czas używam tej metody osobiście.

Gaurav Kumar
źródło
1
Link nie działa.
Paul Matthews,
Tak, wygląda na to, że nie działa, zaktualizowałem swoją odpowiedź o nową stronę.
Gaurav Kumar
To był chyba najlepszy i najłatwiejszy sposób bez instalowania zewnętrznego narzędzia. Dziękuję Ci!
Ankur Jain,
7

Polecenie nslookup z wiersza polecenia powie ci, którego używa (zazwyczaj podstawowego). Czasami wpisanie fałszywej domeny (hdhsgdh.com) nie powiedzie się na pierwszym serwerze dns i spróbuje użyć drugiego.

Szybka edycja: nie wpisuj adresu po poleceniu nslookup, powie ci, z którego serwera DNS korzysta.

Dan
źródło
1
nslookupzawsze pokazuje domyślny serwer DNS.
Neurotransmitter
5

Nie znam żadnego łatwego wbudowanego w Windows sposobu śledzenia tych informacji. Jednak narzędzie takie jak Wireshark ułatwia śledzenie ruchu sieciowego i filtrowanie według określonych rodzajów ruchu, takich jak DNS.

BBlake
źródło
2

Wierzę, że zawsze będziesz używać podstawowego serwera DNS, chyba że to zawiedzie. To dlatego mamy alternatywny DNS, czyli drugi serwer DNS.

techhy
źródło
2
Jeśli to się nie powiedzie, jak mogę to zobaczyć?
Paul George
2

Możesz odwiedzić http://whatsmyresolver.stdlib.net/ Strona informuje, jakiego serwera dns użyłeś do rozwiązania domeny. Ma to tę zaletę, że działa nawet wtedy, gdy nie masz dostępu do routera lub twoje zapytania dns są w środkowej części twojego ISP lub czegoś podobnego.

Szymon
źródło