Qual è l'utilità della riga di comando in Windows per eseguire una ricerca DNS inversa?


246

Esiste uno strumento da riga di comando integrato che eseguirà ricerche DNS inverse in Windows? Cioè, qualcosa del genere<toolname> w.x.y.z => mycomputername

Ho provato:

  • nslookup: sembra essere solo la ricerca in avanti.
  • host: non esiste
  • dig: inoltre non esiste.

Ho trovato " Qual è l'utilità della riga di comando DNS inversa? " Tramite una ricerca, ma questo è specificamente alla ricerca di un'utilità * nix, non di Windows.


5
Questa domanda dovrebbe essere modificata per dire che non è davvero alla ricerca di una soluzione specifica per DNS. Le risposte che sono state respinte forniscono quella risposta, ma il problema era che in realtà avevi bisogno di qualcosa che cercasse i nomi NetBIOS, non DNS.
Barmar,

Risposte:


237
ping -a w.x.y.z

Dovrebbe risolvere il nome dall'indirizzo IP se la zona di ricerca inversa è stata impostata correttamente. Se la zona di ricerca inversa non ha una voce per il record, -aeseguirà il ping senza un nome.


3
Funzionava meglio di nslookup poiché la macchina in conflitto si trova su un altro dominio. Molte grazie!
alastairs,

4
in nslookup puoi anche provare: set type = PTR <enter> wxyz <enter>
Peter,

2
@abstrask ha la risposta più completa
vinnyjames il

7
Questo funziona , ma in realtà è lo strumento sbagliato per il lavoro. Il ping viene utilizzato per misurare la latenza della rete, esegue ricerche di nomi (o IP) proprio come un effetto collaterale del suo scopo principale.
Massimo

3
@ Massimo - dati i vincoli della domanda originale cosa suggeriresti invece? Ping risolverà i nomi DNS e netbios che lo rendono un buon primo strumento se hai solo bisogno di qualcosa di veloce.
Peter,

114
nslookup <ip>

Fa quello che stai cercando. Ti dirà il server che stai interrogando e il risultato.

Per esempio:

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

Name: enigma.local
Address: 192.168.101.39

7
Ciò non funzionava con il messaggio "<DC> non è stato possibile trovare wxyz: dominio inesistente" e non sono riuscito a capire perché. Ho provato la risposta di @ Peter e ho scoperto che la macchina in conflitto era su un altro dominio.
alastairs,

7
Non è riuscito perché nslookup si preoccupa solo del DNS, mentre i nomi in Windows possono e saranno risolti con altri mezzi se il DNS non è sufficiente.
Massimo

76

Il problema con "ping" è che non è strettamente uno strumento di ricerca del server dei nomi (come nslookup). Ad esempio, se esegui il ping di un nome host, può essere risolto in un indirizzo IP con una serie di metodi: ricerca DNS, ricerca file host, Trasmissione WINS (dio vietato) o NetBIOS. Può anche restituire un risultato memorizzato nella cache potenzialmente obsoleto.

L'ordine in cui vengono provati i metodi dipende dalla configurazione TCP / IP dei client e dall'indicatore del tipo di nodo:

  • B-node (1): Broadcast
  • P-node (2): Peer (solo WINS)
  • M-node (4): Mixed (broadcast, poi WINS)
  • H-node (8): Hybrid (WINS, quindi trasmesso)

Per vedere il tipo di nodo del computer corrente:

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

Se il metodo di risoluzione non è preoccupante, utilizzare

ping -a w.x.y.z

o

nslookup w.x.y.z

come preferisce. Se devi assicurarti di richiedere al tuo server DNS il nome corretto, usa nslookup .

Guarda anche


31

Utilizzare NSLOOKUP con il parametro "-type = ptr" per interrogare l'indirizzo IP, sintassi:

nslookup -type=ptr 1.2.3.4

Quindi viene stampata anche la voce "in-addr.arpa" (anche se non trovata), ad esempio:

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

Rispetto alla risposta di fedeltà inferiore quando si utilizza NSLOOKUP su un indirizzo IP senza il parametro 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
Se si desidera utilizzare nslookup interattivo, al prompt di nslookup digitare "set q = ptr" e quindi immettere l'IP nella riga successiva. Se sei pazzo di vecchia scuola come me, allora non ti sei reso conto fino ad ora che non devi più cercare l'IP all'indietro, come "1.0.0.127.in-addr.arpa".
Todd Wilcox,

4
Non c'è bisogno -type=ptro set q=ptraffatto - nslookupè abbastanza intelligente per riguadagnare un indirizzo IP e fare una ricerca inversa invece di inoltrare
abstrask

1
In realtà -type = ptr è necessario per un corretto controllo della ricerca inversa perché stampa un risultato più accurato di nslookup con solo un indirizzo IP. È molto meglio avere l'effettiva voce in-addr.arpa stampata (anche quando non trovata) per aiutare con il debug o semplicemente chiarire cosa sta succedendo.
Tony Wall

14

nslookup farà il DNS inverso su Windows così come può farlo su Linux.

Naturalmente, non esiste una voce inversa per ogni indirizzo IP


2
È un buon punto che non tutti gli host avranno creato un record PTR per loro
Rowland Shaw,

2
Nota che nslookup su Linux, BSD e Windows fa cose diverse e sono programmi diversi.
Brava persona il

1
Se non esiste alcun PTR, puoi whois l'IP per maggiori informazioni ..... prob non viene spedito con windoze né lol
nandoP

8

Usa nslookup in questo modo:

nslookup -type=PTR  127.0.0.1

6

È possibile utilizzare il comando NSLOOKUP standard:

nslookup 123.123.123.123

Per ottenere un risultato, deve essere registrato un record PTR per l'indirizzo IP in questione.


5

nslookup eseguirà ricerche inverse in 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 risposte e nessuno ha detto come invertire la ricerca con scavare? È il migliore

dig -x wxyz

Inoltre, puoi aggiungere "+ short" da utilizzare in loop bash, script, ecc .... avanti o indietro :)


3
Nessuno ha menzionato digin quanto non viene fornito con Windows. La domanda del PO indica anche questo.
jscott,

3
digè generalmente la soluzione migliore per la risoluzione dei problemi DNS, tuttavia. Penso che ci sia sicuramente un certo valore nel suggerire uno strumento migliore anche se non viene fornito con Windows. (Disponibile nelle build di Windows su isc.org/software/bind )
Håkan Lindqvist,

4

Sotto Windows ....

Il ping standard NON restituisce il nome host dell'indirizzo IP

NSLookup può essere utilizzato per trovare queste informazioni, se DNS è configurato correttamente

Procedura come segue:

Apri il prompt di DOS

NSLookup

set type = ptr

abcd

I risultati verranno visualizzati con l'indirizzo del server DNS inverso e il nome host


1

C'è ancora un altro modo. Invertire l'indirizzo IP e utilizzare nslookup

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

per risolvere l'indirizzo 1.2.3.4


1
Dovresti fare nslookup -type=PTR 4.3.2.1.in-addr.arpaper farlo funzionare davvero, però.
Håkan Lindqvist,

1

Se nslookup, dig, hostnon esiste, provate questo:

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

Funziona ad esempio su istanze docker AWS ec2 (che in realtà non hanno nulla installato)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.