cómo encontrar el nombre de host desde IP sin iniciar sesión en el host

128

Necesito encontrar el nombre de host de un host UNIX cuya IP se conoce sin iniciar sesión en ese host UNIX

user75536
fuente
19
NBTSTAT -A 10.10.10.10 para Windows
Kanagavelu Sugumar
2
¿Alguna vez vas a aceptar una respuesta?
Paolo Stefan
2
@PaoloStefan si el usuario es visto por última vez en 2009, es un evento altamente improbable
Boris Treukhov

Respuestas:

163

Use nslookup

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.
vartec
fuente
2
en instalaciones de centos, sudo yum install bind-utilsprimero deberá ejecutarlo . esto instalará la búsqueda de nslookup para usted
lfender6445
nslookup está en desuso. En su lugar, podría usar 'cavar' o 'host'
P. Barbadew
74

También puede hacer una búsqueda inversa de DNS con host. Solo dale la dirección IP como argumento:

$ host 192.168.0.10
server10 has address 192.168.0.10

fuente
43

Otra utilidad de búsqueda NS que se puede utilizar para la búsqueda inversa es digcon la -xopción:

$ 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 de la página de manual de excavación :

Las búsquedas inversas (asignación de direcciones a nombres) se simplifican con la opción -x . addr es una dirección IPv4 en notación decimal con puntos, o una dirección IPv6 delimitada por dos puntos. Cuando se utiliza esta opción, no es necesario proporcionar el nombre, la clase y los argumentos de tipo. dig realiza automáticamente una búsqueda de un nombre como 11.12.13.10.in-addr.arpa y establece el tipo de consulta y la clase en PTR e IN respectivamente.

Rey Thrushbeard
fuente
27

Para Windows ping -a 10.10.10.10

skm_satish
fuente
17
  • Para Windows, intente:

    NBTSTAT -A 10.100.3.104
    

    o

    ping -a 10.100.3.104
    
  • Para Linux, intente:

    nmblookup -A 10.100.3.104
    

Son casi lo mismo.

Deepak Verma
fuente
2
nmblookup funcionó muy bien, no estaba tratando de encontrar el nombre de host de un servidor web, pero las computadoras que estaban haciendo cosas que no deberían. Esto expuso no solo el nombre de host de Windows, sino también la dirección de Mac, que era la siguiente en mi lista.
FreeSoftwareServers
9
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

si solo necesita el nombre, sin información adicional, agregue [0] al final:

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"
Ilya Kharlamov
fuente
Dice, socket de resaltado de sintaxis no válido.
Sandeep Roy
1
para python3 cambiar imprimir a una función con paréntesis:python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Corey Goldberg
7

Depende del contexto. Creo que te estás refiriendo al nombre de host del sistema operativo (devuelto por hostnamecuando iniciaste sesión). Este comando es solo para nombres internos , por lo que consultar el nombre de una máquina requiere diferentes sistemas de nombres. Hay varios sistemas que usan nombres para identificar hosts, incluidos DNS, DHCP, LDAP (DN) hostname, etc. y muchos sistemas usan zeroconf para sincronizar nombres entre múltiples sistemas de nombres. Por esta razón, los resultados de hostnamea veces coincidirán con los resultados de dig(ver más abajo) u otros sistemas de nombres, pero a menudo no coincidirán.

El DNS es, con mucho, el más común y se usa tanto en Internet (como google.com. A 216.58.218.142) como en el hogar (mDNS / LLMNR), así que aquí se explica cómo realizar una búsqueda DNS inversa : dig -x <address>( nslookupy hostson más simples, proporcionan menos detalles e incluso pueden devolver diferentes resultados; sin embargo, digno está incluido en Windows).

Tenga en cuenta que los nombres de host dentro de un CDN no se resolverán con el nombre de dominio canónico (por ejemplo, "google.com"), sino más bien con el nombre de host de la IP del host que consultó (por ejemplo, "dfw25s08-in-f142.1e100.net"; tidbit interesante: 1e100 es 1 googol).

También tenga en cuenta que los hosts DNS pueden tener más de un nombre. Esto es común para hosts con más de un servidor web (hosting virtual), aunque esto se está volviendo menos común gracias a la proliferación de tecnologías de virtualización. Estos hosts tienen múltiples registros DNS PTR .

Finalmente, tenga en cuenta que los registros de host DNS pueden ser anulados por la máquina local a través de / etc / hosts . Si no obtiene el nombre de host que espera, asegúrese de revisar este archivo.

Los nombres de host DHCP se consultan de manera diferente según el software del servidor DHCP que se use, porque (que yo sepa) el protocolo no define un método para realizar consultas; sin embargo, la mayoría de los servidores ofrecen alguna forma de hacerlo (generalmente con una cuenta privilegiada).

Tenga en cuenta que los nombres DHCP generalmente se sincronizan con los servidores DNS, por lo que es común ver los mismos nombres de host en una tabla mínima de cliente DHCP y en los registros A (o AAAA para IPv6) del servidor DNS. Nuevamente, esto generalmente se hace como parte de zeroconf.

También tenga en cuenta que el hecho de que exista un contrato de arrendamiento de DHCP para un cliente no significa que todavía se esté utilizando.

NetBIOS para TCP / IP (NBT) se utilizó durante décadas para realizar la resolución de nombres, pero desde entonces ha sido reemplazado por LLMNR para la resolución de nombres (parte de zeroconf en Windows). Este sistema heredado aún puede consultarse con nbtstat(Windows) o nmblookup(Linux).

Johntron
fuente
@ John Syrinek ¿Puede dar más detalles sobre la consulta de nombres de host DHCP? Quiero consultar el nombre de host de otra máquina (en el mismo wlan) por IP, ¿es esto posible?
jfly
2

Las otras respuestas aquí son correctas: use búsquedas inversas de DNS. Si desea hacerlo a través de un lenguaje de script (Python, Perl), puede usar la API gethostbyaddr.

Moshe
fuente
0

Si está buscando específicamente una máquina con Windows, pruebe el siguiente comando:

nbtstat -a 10.228.42.57
Gyana Ranjan
fuente
-1

En la mayoría de los casos, el comando traceroute funciona bien. Los comandos nslookup y host pueden fallar.

Arun
fuente
44
esto está mal: dada una IP, lo único que hay que hacer es una consulta inversa al DNS. Por lo tanto, traceroute no es la herramienta correcta para sugerir.
Ottavio Campana