como encontrar o nome do host do IP sem fazer login no host

128

Eu preciso encontrar o nome do host de um host UNIX cujo IP é conhecido sem fazer login no host UNIX

user75536
fonte
19
NBTSTAT -A 10.10.10.10 para windows
Kanagavelu Sugumar
2
Você nunca vai aceitar uma resposta?
Paolo Stefan
2
@PaoloStefan se o usuário é visto pela última vez em 2009, é um evento altamente improvável
Boris Treukhov

Respostas:

163

Use nslookup

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.
vartec
fonte
2
nas instalações do centos, você precisará executar sudo yum install bind-utilsprimeiro. isso instalará a pesquisa do nslookup para você
lfender6445
nslookup está obsoleto. Você pode usar 'dig' ou 'host' em vez disso
P. Barbadew
74

Você também pode fazer uma pesquisa reversa no DNS host. Apenas dê a ele o endereço IP como argumento:

$ host 192.168.0.10
server10 has address 192.168.0.10

fonte
43

Outro utilitário de pesquisa NS que pode ser usado para pesquisa reversa é digcom a -xopção:

$ 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

ou

$ 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 a partir da página de manual do dig :

Pesquisas reversas - mapeando endereços para nomes - são simplificadas pela opção -x . addr é um endereço IPv4 em notação decimal pontilhada ou um endereço IPv6 delimitado por dois pontos. Quando esta opção é usada, não há necessidade de fornecer os argumentos de nome, classe e tipo. O dig executa automaticamente uma pesquisa por um nome como 11.12.13.10.in-addr.arpa e define o tipo e a classe da consulta como PTR e IN, respectivamente.

King Thrushbeard
fonte
27

Para Windows, ping -a 10.10.10.10

skm_satish
fonte
17
  • Para Windows, tente:

    NBTSTAT -A 10.100.3.104
    

    ou

    ping -a 10.100.3.104
    
  • Para Linux, tente:

    nmblookup -A 10.100.3.104
    

Eles são quase iguais.

Deepak Verma
fonte
2
O nmblookup funcionou muito bem, eu não estava tentando encontrar o nome de host de um servidor web, mas os computadores que estavam fazendo coisas que não deveriam. Isso expôs não apenas o nome do host do Windows, mas o endereço do Mac, que era o próximo na minha lista!
FreeSoftwareServers
9
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

se você só precisa do nome, sem informações adicionais, adicione [0] no final:

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"
Ilya Kharlamov
fonte
Diz, soquete de destaque de sintaxe inválida.
quer
1
para python3, altere print para uma função entre parênteses:python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Corey Goldberg
7

Depende do contexto. Eu acho que você está se referindo ao nome do host do sistema operacional (retornado hostnamequando você está logado). Este comando é apenas para nomes internos ; portanto, para consultar o nome de uma máquina, são necessários diferentes sistemas de nomes. Existem vários sistemas que usam nomes para identificar hosts, incluindo DNS, DHCP, LDAP (DN's) hostnameetc., e muitos sistemas usam o zeroconf para sincronizar nomes entre vários sistemas de nomes. Por esse motivo, os resultados de hostnamealgumas vezes correspondem aos resultados de dig(veja abaixo) ou outros sistemas de nomes, mas muitas vezes não correspondem.

O DNS é de longe o mais comum e é usado na Internet (como google.com. A 216.58.218.142) e em casa (mDNS / LLMNR), portanto, veja como executar uma pesquisa reversa no DNS : dig -x <address>( nslookupe hostsão mais simples, fornecem menos detalhes e podem até retornar diferentes resultados, no entanto, dignão está incluído no Windows).

Observe que os nomes de host dentro de uma CDN não resolverão o nome de domínio canônico (por exemplo, "google.com"), mas o nome do host do IP do host que você consultou (por exemplo, "dfw25s08-in-f142.1e100.net"; boato interessante: 1e100 é 1 googol).

Observe também que os hosts DNS podem ter mais de um nome. Isso é comum para hosts com mais de um servidor da web (hospedagem virtual), embora isso esteja se tornando menos comum graças à proliferação de tecnologias de virtualização. Esses hosts têm vários registros DNS PTR .

Por fim, observe que os registros de host DNS podem ser substituídos pela máquina local via / etc / hosts . Se você não está recebendo o nome do host esperado, verifique este arquivo.

Os nomes de host DHCP são consultados de maneira diferente, dependendo do software do servidor DHCP usado, porque (tanto quanto eu sei) o protocolo não define um método para consulta; no entanto, a maioria dos servidores fornece alguma maneira de fazer isso (geralmente com uma conta privilegiada).

Nota Os nomes DHCP geralmente são sincronizados com os servidores DNS, portanto, é comum ver os mesmos nomes de host em uma tabela com menos clientes DHCP e nos registros A (ou AAAA para IPv6) do servidor DNS. Novamente, isso geralmente é feito como parte do zeroconf.

Observe também que, apenas porque existe uma concessão de DHCP para um cliente, não significa que ele ainda está sendo usado.

O NetBIOS para TCP / IP (NBT) foi usado por décadas para executar a resolução de nomes, mas foi substituído pelo LLMNR para resolução de nomes (parte do zeroconf no Windows). Esse sistema legado ainda pode ser consultado com o nbtstat(Windows) ou nmblookup(Linux).

Johntron
fonte
@ John Syrinek Você pode elaborar sobre a consulta de nomes de host DHCP? Quero consultar o nome do host de outra máquina (na mesma wlan) por IP, isso é possível?
jfly
2

As outras respostas aqui estão corretas - use pesquisas reversas de DNS. Se você quiser fazer isso por meio de uma linguagem de script (Python, Perl), poderá usar a API gethostbyaddr.

Moshe
fonte
0

Se você está procurando especificamente uma máquina Windows, tente o comando abaixo:

nbtstat -a 10.228.42.57
Gyana Ranjan
fonte
-1

Na maioria dos casos, o comando traceroute funciona bem. Os comandos nslookup e host podem falhar.

Uma corrida
fonte
4
isso está errado: dado um IP, a única coisa a fazer é uma consulta reversa ao DNS. Portanto, traceroute não é a ferramenta correta a sugerir.
Ottavio Campana