Eu preciso encontrar o nome do host de um host UNIX cujo IP é conhecido sem fazer login no host UNIX
Eu preciso encontrar o nome do host de um host UNIX cujo IP é conhecido sem fazer login no host UNIX
Respostas:
Use nslookup
nslookup 208.77.188.166
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa name = www.example.com.
sudo yum install bind-utils
primeiro. isso instalará a pesquisa do nslookup para você
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
Outro utilitário de pesquisa NS que pode ser usado para pesquisa reversa é dig
com a -x
opçã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.
Para Windows, ping -a 10.10.10.10
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.
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]"
python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Depende do contexto. Eu acho que você está se referindo ao nome do host do sistema operacional (retornado hostname
quando 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) hostname
etc., e muitos sistemas usam o zeroconf para sincronizar nomes entre vários sistemas de nomes. Por esse motivo, os resultados de hostname
algumas 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>
( nslookup
e host
são mais simples, fornecem menos detalhes e podem até retornar diferentes resultados, no entanto, dig
nã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).
Se você está procurando especificamente uma máquina Windows, tente o comando abaixo:
nbtstat -a 10.228.42.57
Você também pode usar o comando traceroute.
http://linux.die.net/man/8/traceroute
basta usar o traceroute, ele mostrará o caminho de roteamento com nomes de host (IPs resolvidos)
Na maioria dos casos, o comando traceroute funciona bem. Os comandos nslookup e host podem falhar.