come trovare il nome host dall'IP senza effettuare il login all'host


Risposte:


163

Usa nslookup

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.

2
sulle installazioni di centos, dovrai sudo yum install bind-utilsprima eseguire . questo installerà nslookup lookup per te
lfender6445

nslookup è obsoleto. In alternativa, è possibile utilizzare "dig" o "host"
P. Barbadew,

74

Puoi anche effettuare una ricerca DNS inversa con host. Dagli l'indirizzo IP come argomento:

$ host 192.168.0.10
server10 has address 192.168.0.10

43

Un'altra utility di ricerca NS che può essere utilizzata per la ricerca inversa è digcon l' -xopzione:

$ dig -x 72.51.34.34

; <<>> DiG 9.9.2-P1 <<>> -x 72.51.34.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12770
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;34.34.51.72.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
34.34.51.72.in-addr.arpa. 42652 IN      PTR     sb.lwn.net.

;; Query time: 4 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:40 2013
;; MSG SIZE  rcvd: 77

o

$ dig -x 127.0.0.1

; <<>> DiG 9.9.2-P1 <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11689
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 10      IN      PTR     localhost.

;; Query time: 2 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:49 2013
;; MSG SIZE  rcvd: 63

Citando dalla manpage di scavo :

Le ricerche inverse - la mappatura degli indirizzi ai nomi - sono semplificate dall'opzione -x . addr è un indirizzo IPv4 in notazione decimale puntata o un indirizzo IPv6 delimitato da due punti. Quando viene utilizzata questa opzione, non è necessario fornire gli argomenti name, class e type. dig esegue automaticamente una ricerca per un nome come 11.12.13.10.in-addr.arpa e imposta il tipo di query e la classe su PTR e IN rispettivamente.



17
  • Per Windows, prova:

    NBTSTAT -A 10.100.3.104
    

    o

    ping -a 10.100.3.104
    
  • Per Linux, prova:

    nmblookup -A 10.100.3.104
    

Sono quasi uguali.


2
nmblookup ha funzionato alla grande, non stavo cercando di trovare il nome host di un server web, ma i computer che stavano facendo cose che non avrebbero dovuto. Questo ha rivelato non solo il nome host di Windows, ma l'indirizzo Mac, che era il prossimo nella mia lista!
FreeSoftwareServers il

9
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

se hai solo bisogno del nome, nessuna informazione aggiuntiva, aggiungi [0] alla fine:

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"

Dice: socket di evidenziazione della sintassi non valido.
Sandeep Roy,

1
per python3 cambia la stampa con una funzione tra parentesi:python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Corey Goldberg,

7

Dipende dal contesto. Penso che ti riferisci al nome host del sistema operativo (restituito da hostnamequando hai effettuato l'accesso). Questo comando è solo per nomi interni , quindi per eseguire una query per il nome di una macchina sono necessari diversi sistemi di denominazione. Esistono più sistemi che utilizzano i nomi per identificare gli host, inclusi DNS, DHCP, LDAP (DN) hostname, ecc. E molti sistemi utilizzano zeroconf per sincronizzare i nomi tra più sistemi di denominazione. Per questo motivo, i risultati di hostnamea volte corrispondono a quelli di dig(vedi sotto) o altri sistemi di denominazione, ma spesso non corrispondono.

Il DNS è di gran lunga il più comune e viene utilizzato sia su Internet (come google.com. A 216.58.218.142) che a casa (mDNS / LLMNR), quindi ecco come eseguire una ricerca DNS inversa : dig -x <address>( nslookupe hostsono più semplici, forniscono meno dettagli e possono anche restituire diversi risultati; tuttavia, dignon è incluso in Windows).

Si noti che i nomi host all'interno di una CDN non si risolveranno nel nome di dominio canonico (ad esempio "google.com"), ma piuttosto il nome host dell'IP host richiesto (ad esempio "dfw25s08-in-f142.1e100.net"; interessante tidbit: 1e100 è 1 googol).

Si noti inoltre che gli host DNS possono avere più di un nome. Questo è comune per gli host con più di un server web (hosting virtuale), sebbene ciò stia diventando meno comune grazie alla proliferazione delle tecnologie di virtualizzazione. Questi host hanno più record DNS PTR .

Infine, si noti che i record host DNS possono essere sovrascritti dal computer locale tramite / etc / hosts . Se non ottieni il nome host che ti aspetti, assicurati di controllare questo file.

I nomi host DHCP vengono interrogati in modo diverso a seconda del software server DHCP utilizzato, poiché (per quanto ne so) il protocollo non definisce un metodo per l'interrogazione; tuttavia, la maggior parte dei server fornisce un modo per farlo (di solito con un account privilegiato).

Nota I nomi DHCP sono in genere sincronizzati con i server DNS, quindi è comune vedere gli stessi nomi host in una tabella minima del client DHCP e nei record A (o AAAA per IPv6) del server DNS. Ancora una volta, questo di solito viene fatto come parte di zeroconf.

Si noti inoltre che solo perché esiste un lease DHCP per un client, ciò non significa che sia ancora utilizzato.

NetBIOS per TCP / IP (NBT) è stato usato per decenni per eseguire la risoluzione dei nomi, ma da allora è stato sostituito da LLMNR per la risoluzione dei nomi (parte di zeroconf su Windows). Questo sistema legacy può ancora essere interrogato con nbtstat(Windows) o nmblookup(Linux).


@ John Syrinek Puoi approfondire la query sui nomi host DHCP? Voglio interrogare il nome host di un'altra macchina (nella stessa rete) tramite IP, è possibile?
jfly

2

Le altre risposte qui sono corrette: usa le ricerche DNS inverse. Se vuoi farlo tramite un linguaggio di scripting (Python, Perl) puoi usare l'API gethostbyaddr.


0

Se stai specificamente cercando un computer Windows, prova sotto il comando:

nbtstat -a 10.228.42.57


-1

Nella maggior parte dei casi, il comando traceroute funziona correttamente. I comandi nslookup e host potrebbero non riuscire.


4
questo è sbagliato: dato un IP, l'unica cosa da fare è una query inversa al DNS. Pertanto, traceroute non è lo strumento giusto da suggerire.
Ottavio Campana,
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.