Como obtenho o nome da máquina de um IP via DNS Multicast?

17

Eu tenho uma lista de endereços IP em uma rede, e a maioria deles suporta DNS multicast. Gostaria de poder resolver o nome do servidor em vez de apenas ter o endereço IP.

ping computer.local
64 bytes from 192.168.0.52: icmp_seq=1 ttl=64 time=5.510 ms
64 bytes from 192.168.0.52: icmp_seq=2 ttl=64 time=5.396 ms
64 bytes from 192.168.0.52: icmp_seq=3 ttl=64 time=5.273 ms

Funciona, mas gostaria de poder determinar esse nome a partir do IP. Além disso, os dispositivos não transmitem necessariamente nenhum serviço, mas definitivamente suportam a transmissão mDNS. Então, olhar através dos serviços não funcionará.

    
por Adam 19.05.2010 / 01:11

4 respostas

21

Como você já conhece os endereços IP, é possível procurar a entrada inversa de cada endereço IP para obter o endereço de encaminhamento associado:

$ dig -x 10.0.0.200 @224.0.0.251 -p 5353

; <<>> DiG 9.6.0-APPLE-P2 <<>> -x 10.0.0.200 @224.0.0.251 -p 5353
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54300
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;200.0.0.10.in-addr.arpa.   IN  PTR

;; ANSWER SECTION:
200.0.0.10.in-addr.arpa. 10 IN  PTR atj-mbp.local.

;; ADDITIONAL SECTION:
atj-mbp._device-info._tcp.local. 10 IN  TXT "model=MacBookPro3,1"

;; Query time: 2 msec
;; SERVER: 10.0.0.200#5353(224.0.0.251)
;; WHEN: Sat Jun 26 07:53:44 2010
;; MSG SIZE  rcvd: 126

Para uma saída mais amigável, use '+ short':

$ dig +short -x 10.0.0.200 @224.0.0.251 -p 5353
atj-mbp.local.

Dependendo do seu caso de uso pretendido, pode haver um método mais apropriado para realizar a consulta. Sinta-se à vontade para entrar em contato comigo se precisar de mais informações.

    
por 26.06.2010 / 10:00
5

No Linux, você pode usar o comando getent da libc:

getent hosts 192.168.0.52

Ou instale o avahi-utils e execute

avahi-resolve-address 192.168.0.52
    
por 26.06.2010 / 13:57
4

Isso parece funcionar:

dig -x 192.0.2.42 -p 5353 @224.0.0.251

De Diversão com DNS multicast a>

    
por 11.11.2013 / 22:47
-1

Bem, eu pesquisei um pouco mais sobre esse, e olhando pelo mDNDS e pelo protocolo, parece que isso não é realmente possível. Há uma solicitação de pesquisa no protocolo para recuperação de nome, portanto, quando você solicita um nome, o cliente apropriado responde, mas não há solicitação de pesquisa para um IP. Não há armazenamento central para endereços também.

Espero que isso ajude alguém, já que passei muito tempo rastreando isso.

Se alguém tiver outras ideias sobre este assunto, adoro ouvi-lo.

    
por 22.05.2010 / 18:34

Tags