unix - por - saber ip con nombre de equipo cmd
cómo encontrar el nombre de host desde IP sin iniciar sesión en el host (11)
Depende del contexto. Creo que te estás refiriendo al nombre de host del sistema operativo (devuelto por hostname
de hostname
cuando estás conectado). Este comando es solo para nombres internos , por lo que para consultar el nombre de una máquina se requieren diferentes sistemas de nombres. Existen 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 este motivo, los resultados del hostname
de hostname
algunas veces coincidirán con los resultados de dig
(vea a continuación) 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 casa (mDNS / LLMNR), así que aquí se explica cómo realizar una búsqueda de DNS inversa : dig -x <address>
( nslookup
y host
son más simples, brindan menos detalles e incluso pueden arrojar resultados diferentes, sin embargo, dig
no está incluido en Windows).
Tenga en cuenta que los nombres de host dentro de una CDN no se resolverán con el nombre de dominio canónico (por ejemplo, "google.com"), sino con el nombre de host de la IP de host que ha consultado (por ejemplo, "dfw25s08-in-f142.1e100.net"; interesante tidbit: 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 del 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 consultar este archivo.
Los nombres de host DHCP se consultan de forma diferente según el software del servidor DHCP que se utilice, porque (hasta donde yo sé) el protocolo no define un método para consultar; sin embargo, la mayoría de los servidores proporcionan alguna forma de hacerlo (generalmente con una cuenta privilegiada).
Nota Los nombres de DHCP generalmente están sincronizados con los servidores DNS, por lo que es común ver los mismos nombres de host en una tabla de clientes DHCP como mínimo y en los registros A (o AAAA para IPv6) del servidor DNS. Nuevamente, esto se hace generalmente como parte de zeroconf.
También tenga en cuenta que el hecho de que exista una concesión 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 se puede consultar con nbtstat
(Windows) o nmblookup
(Linux).
Necesito encontrar el nombre de host de un host UNIX cuya IP se conoce sin iniciar sesión en ese host UNIX
En la mayoría de los casos, el comando traceroute funciona bien. Los comandos nslookup y host pueden fallar.
Las otras respuestas aquí son correctas: use búsquedas DNS inversas. Si quieres hacerlo a través de un lenguaje de scripting (Python, Perl) puedes usar la API gethostbyaddr.
Otra utilidad de búsqueda NS que se puede usar para búsqueda inversa es dig
con la opción -x
:
$ 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 dig :
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 los nombres, clases y tipos de argumentos. 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.
Para Windows ping -a 10.10.10.10
Si está buscando específicamente una máquina con Windows, intente con el siguiente comando:
nbtstat -a 10.228.42.57
También puede hacer una búsqueda DNS inversa con el host
. Solo dale la dirección IP como argumento:
$ host 192.168.0.10
server10 has address 192.168.0.10
También puedes usar el comando traceroute.
http://linux.die.net/man/8/traceroute
solo use el traceroute, le mostrará la ruta de enrutamiento con nombres de host (direcciones IP resueltas)
Use nslookup
nslookup 208.77.188.166
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa name = www.example.com.
python -c "import socket;print socket.gethostbyaddr(''10.16.7.10'')"
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
Ellos son casi iguales.