Jakie narzędzie wiersza polecenia w systemie Windows służy do wyszukiwania wstecznego DNS?


246

Czy jest wbudowane narzędzie wiersza polecenia, które będzie wykonywać odwrotne wyszukiwania DNS w systemie Windows? To znaczy coś w stylu<toolname> w.x.y.z => mycomputername

Próbowałem:

  • nslookup: wygląda tylko na wyszukiwanie do przodu.
  • host: nie istnieje
  • dig: też nie istnieje.

Znalazłem „ Co to jest narzędzie wiersza polecenia odwrotnego DNS? ” Podczas wyszukiwania, ale to konkretnie szuka narzędzia * nix, a nie Windows.


5
To pytanie powinno zostać zredagowane, aby powiedzieć, że tak naprawdę nie szuka rozwiązania specyficznego dla DNS. Odpowiedzi, które zostały odrzucone, podają tę odpowiedź, ale problem polegał na tym, że tak naprawdę potrzebujesz czegoś, co szuka nazw NetBIOS, a nie DNS.
Barmar

Odpowiedzi:


237
ping -a w.x.y.z

Powinien rozwiązać nazwę z adresu IP, jeśli strefa wyszukiwania wstecznego została poprawnie skonfigurowana. Jeśli strefa wyszukiwania wstecznego nie ma wpisu dla rekordu, -abędzie po prostu pingować bez nazwy.


3
Działa to lepiej niż nslookup, ponieważ komputer będący w konflikcie znajduje się w innej domenie. Wielkie dzięki!
alastairs

4
w nslookup możesz także spróbować: ustaw typ = PTR <enter> wxyz <enter>
Peter

2
@abstrask ma najbardziej kompletną odpowiedź
vinnyjames,

7
To działa , ale w rzeczywistości jest to niewłaściwe narzędzie do pracy. Ping służy do mierzenia opóźnienia sieci, wykonuje wyszukiwania nazw (lub adresów IP), jako efekt uboczny jego głównego celu.
Massimo,

3
@ Massimo - biorąc pod uwagę ograniczenia pierwotnego pytania, co byś zaproponował? Ping rozpozna nazwy DNS i Netbios, co czyni je dobrym pierwszym narzędziem, jeśli potrzebujesz czegoś szybko.
Peter

114
nslookup <ip>

Robi to, czego szukasz. Poinformuje cię o zapytaniu o serwer i wynik.

Na przykład:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39

7
Nie udało się to z komunikatem „<DC> nie można znaleźć wxyz: nieistniejąca domena” i nie mogłem zrozumieć, dlaczego. Spróbowałem odpowiedzi @ Peter i okazało się, że maszyna będąca w konflikcie znajduje się w innej domenie.
alastairs

7
Nie powiodło się, ponieważ nslookup dba tylko o DNS, podczas gdy nazwy w systemie Windows można i zostaną rozwiązane w inny sposób, jeśli DNS nie wystarczy.
Massimo

76

Problem z „ping” polega na tym, że nie jest to wyłącznie narzędzie do wyszukiwania serwera nazw (takie jak nslookup) - na przykład, jeśli pingujesz nazwę hosta, można go rozwiązać na adres IP na kilka sposobów: wyszukiwanie DNS, wyszukiwanie plików hosta, WINS (nie daj Boże) lub transmisja NetBIOS. Może również zwrócić potencjalnie przestarzały wynik w pamięci podręcznej.

Kolejność wypróbowania metod zależy od konfiguracji TCP / IP klienta i flagi typu węzła:

  • Węzeł B (1): transmisja
  • Węzeł P (2): Peer (tylko WINS)
  • Węzeł M (4): Mieszany (rozgłaszany, a następnie WINS)
  • Węzeł H (8): Hybrydowy (WINS, następnie nadawany)

Aby zobaczyć typ węzła bieżącego komputera:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Jeśli metoda rozwiązywania problemów nie ma znaczenia, użyj

ping -a w.x.y.z

lub

nslookup w.x.y.z

jak chcesz. Jeśli chcesz się upewnić, że pytasz serwera DNS o poprawną nazwę, użyj nslookup .

Zobacz też


31

Użyj NSLOOKUP z parametrem „-type = ptr” do zapytania o adres IP, składnia:

nslookup -type=ptr 1.2.3.4

Następnie drukowany jest również wpis „in-addr.arpa” (nawet jeśli nie został znaleziony), na przykład:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

W porównaniu z odpowiedzią na niższą wierność przy użyciu NSLOOKUP na adresie IP bez parametru type:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8

2
Jeśli chcesz użyć interaktywnego programu nslookup, w wierszu polecenia nslookup wpisz „set q = ptr”, a następnie wprowadź adres IP w następnym wierszu. Jeśli jesteś wariatem starej szkoły, takim jak ja, dopiero wtedy zdałeś sobie sprawę, że nie musisz już szukać adresu IP wstecz, na przykład „1.0.0.127.in-addr.arpa”.
Todd Wilcox

4
Nie ma potrzeby -type=ptrani set q=ptrwcale - nslookupjest na tyle sprytny, aby ponownie zarejestrować adres IP i wykonać wyszukiwanie wsteczne zamiast do przodu
usunąć

1
Właściwie -type = ptr jest niezbędne do prawidłowego sprawdzania wstecznego wyszukiwania, ponieważ drukuje dokładniejszy wynik niż nslookup tylko z adresem IP. O wiele lepiej jest wydrukować rzeczywisty wpis in-addr.arpa (także gdy go nie znaleziono), aby pomóc w debugowaniu lub po prostu wyjaśnić, co się dzieje.
Tony Wall

14

nslookup zrobi odwrotny DNS w systemie Windows, tak jak może to zrobić w systemie Linux.

Oczywiście nie ma odwrotnego wpisu dla każdego adresu IP


2
Dobrze, że nie wszyscy gospodarze utworzą dla nich rekord PTR
Rowland Shaw,

2
Zauważ, że nslookup w Linuksie, BSD i Windows robią różne rzeczy i są różnymi programami.
Good Person

1
Jeśli nie ma PTR, możesz whois IP, aby uzyskać więcej informacji ..... prob nie jest wysyłany z windoze albo lol
nandoP

8

Użyj nslookup w następujący sposób:

nslookup -type=PTR  127.0.0.1

6

Możesz użyć standardowej komendy NSLOOKUP:

nslookup 123.123.123.123

Aby uzyskać wynik, należy zarejestrować rekord PTR dla danego adresu IP.


5

nslookup będzie wyszukiwać wstecz w systemie Windows.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

4

9 odpowiedzi i nikt nie powiedział jak odwrócić wyszukiwanie za pomocą dig? To jest najlepsze

dig -x wxyz

Możesz także dodać „+ short” do użycia w pętlach bash, skryptach itp. Do przodu lub do tyłu :)


3
Nikt nie wspomniał digo tym, ponieważ nie jest dostarczany z systemem Windows. Pytanie PO nawet to wskazuje.
jscott,

3
digjest jednak ogólnie najlepszym wyborem do rozwiązywania problemów z DNS. Myślę, że zdecydowanie lepszym narzędziem jest sugerowanie lepszego narzędzia, mimo że nie jest ono dostarczane z systemem Windows. (Dostępne w wersjach systemu Windows na isc.org/software/bind )
Håkan Lindqvist

4

Pod Windows ....

Standardowy ping NIE zwraca nazwy hosta adresu IP

Za pomocą NSLookup można znaleźć te informacje, jeśli DNS jest poprawnie skonfigurowany

Procedura w następujący sposób:

Otwórz monit DOS

NSLookup

ustaw typ = ptr

abcd

Wyniki zostaną wyświetlone z odwrotnym adresem serwera DNS i nazwą hosta


1

Jest jeszcze inny sposób. Odwróć adres IP i użyj nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

rozwiązać adres 1.2.3.4


1
Trzeba by jednak zrobić nslookup -type=PTR 4.3.2.1.in-addr.arpa, żeby to zadziałało.
Håkan Lindqvist

1

Jeśli nslookup, dig, hostnie istnieje, spróbuj tego:

getent hosts google.de | awk '{ print $1 }'

Działa np. W instancjach AWS ec2 dokera (które tak naprawdę nie mają niczego zainstalowanego)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.