Como encontrar um nome de computador em uma LAN a partir do endereço IP?

54

Minha rede inclui máquinas com Linux e outras com Windows. E minha máquina está executando o Linux.

Islam Hassan
fonte
2
A pergunta é um pouco incerta, o que resultou nas respostas variáveis ​​- e boas - abaixo. Deseja encontrar o nome DNS de um host? Deseja encontrar o nome WINS? Deseja pesquisar na rede por todos os hosts encontrados? Todas essas perguntas são respondidas - mas a resposta específica desejada é desconhecida.
Mei

Respostas:

35

Digite o terminal

arp -a

Ele mostrará todos os nomes de host na LAN, seja Linux ou Windows.

Ketan Patel
fonte
14
Isso mostra nada na minha rede local que tem mais de 30 máquinas Linux ...
Cerin
@Cerin Você está na máquina Linux?
Shashank Sawant
11
No Ubuntu 14.04, diz: "? (192.168.1.2) às 00: 22: 6b: f2: 33: b3 [ether] no wlan0", fornecendo apenas informações sobre meu roteador (meu laptop está conectado a ele via wifi, como cerca de outros 10 dispositivos atm). Olhando para o man arp, também diz "arp - manipule o cache do sistema ARP". Como essa ferramenta deve resolver a questão original?
gerlos
5
O mesmo aqui no Ubuntu 14.04, isso lista apenas um monte de? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Elijah Lynn
2
O mesmo aqui. Só consigo acessar o host local pelo nome do host, nada mais parece anunciar o nome do host, mesmo as máquinas Linux que eu mesmo configurei.
Unfa 27/10
19

Digite o terminal

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

Isso lhe dará:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Onde HOST.DOMAIN é o nome DNS da máquina.

Germar
fonte
10
Isso mostra todos os IPs ativos, mas mostra apenas domínios para máquinas que possuem explicitamente domínios personalizados configurados no meu servidor Bind local. Ele não mostra nenhum nome de host local, que eu acho que é o que o OP está tentando realizar.
Cerin
Esta resposta é muito rápida.
Activedecay 03/02
4
-sP pode ter sido alterado para -sn, dependendo da sua versão do nmap. No manual do nmap 7.12: -sn (sem varredura de porta) Nas versões anteriores do Nmap, -sn era conhecido como -sP.
precisa
Semelhante ao arpcomando, acredito que esta resposta funcione apenas se você tiver um servidor DHCP local e um servidor / proxy DNS que se comuniquem, para que os nomes de host registrados com as concessões DHCP possam ser resolvidos (ou resolvidos inversamente, neste caso) ) via DNS.
Doktor J
9

E se você tentar isso:

Você pode executá-lo no Windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

no ubuntu você pode instalar o nbtscan. Você pode encontrar mais informações aqui: http://www.unixwiz.net/tools/nbtscan.html

Espero que ajude

Brett
fonte
Muito obrigado, mas parece que o nbtscan detecta máquinas executando apenas o Windows. Eu tenho duas máquinas executando o Windows e outras duas executando o Linux. Ele detecta apenas os dois Windows em execução.
9118 Islam Hassan
2
você pode tentar o nmblookup? ele já deve estar instalado no Ubuntu
Brett
Desculpe, eu li o tutorial, mas não consegui descobrir como escrever o comando que resolve o meu problema. Não consigo ver as opções usando IP como entrada. Você pode escrever o comando para mim, por favor?
9118 Islam Hassan
6
tente nmblookup -A xxx.xxx.xx em que x é o endereço IP da máquina. Então, eu faria o nmblookup -A 192.168.1.6 e retornaria o nome da minha máquina. Você precisará fazer isso para cada máquina.
Brett
11
@Brett: (+1) você deve converter seu comentário em uma resposta, já que é o único método que funcionou para mim (caixas de janelas e linux). Graças
Lepe
7

Uma pesquisa inversa de nome Netbios pode realizar mais do que "hostname", que é uma função do DNS e tcp / ip. nmblookup com o parâmetro -A retorna nomes de dispositivos e endereço mac. Tente algo como isto:

nmblookup -A 192.168.1.2
Frere
fonte
Esta é a resposta que funcionou para mim
humphrey
Essa é a resposta.
Campa
3

Se sua rede estiver executando um servidor DHCP, geralmente no modem / roteador, é possível que você veja os endereços atribuídos por DHCP - geralmente por uma página da web e que geralmente lista os nomes dos computadores ao lado dos endereços IP alocados .

Jazz
fonte
2

Eu usaria

nslookup xxx.xxx.xxx.xxx

ele me mostrará o nome do host (geralmente o nome do computador)

Chester
fonte
4
Isso só me deixa** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
Cerin
funciona para mim :)
vk.edward.li 15/15
2
O nslookup faz pesquisas de DNS, portanto, para que isso funcione, é necessário que os hosts sejam registrados no DNS. Se você tiver uma rede Windows normal, em um intervalo de IP privado, sem o ActiveDirectory configurado, ela não funcionará. Nomes NetBios e nomes DNS são bestas diferentes.
Bogdan.mustiata
1

Que eu saiba, não há utilitário disponível para resolver um endereço IP em um nome NetBIOS. Eu imagino que algum tipo de programa de escopo de rede ou um programa de teste de penetração possa fornecer essa quantidade de informações. No entanto, todos os computadores teriam que estar no mesmo domínio e sub-rede.

Xernicus
fonte
Você poderia nomear um programa, por favor?
21912 Islam Hassan
11
O OP quer o contrário. por exemplo IP-> hostname
Cerin 28/04
Eu sei que isso é antigo ... e o OP está usando Linux, não Windows ... mas no Windows você pode executar nbtstat -A <IP Address>para obter o nome NetBIOS apenas do IP. Isso funciona em sub-redes e não há necessidade de estar no mesmo domínio. Além disso, a execução nbtstat -a <NetBIOS Name>fará o inverso. Espero que isso ajude ...
John Homer