Eu tenho uma lista de endereços IP em uma rede e a maioria deles suporta DNS multicast. Gostaria de 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 eu gostaria de poder determinar esse nome pelo IP. Além disso, os dispositivos não transmitem necessariamente nenhum serviço, mas definitivamente suportam a transmissão mDNS. Portanto, analisar os serviços não funcionará.
Respostas:
Como você já conhece os endereços IP, pode procurar a entrada reversa de cada endereço IP para obter o endereço de encaminhamento associado:
Para uma saída mais amigável ao script de shell, use '+ short':
Dependendo do caso de uso pretendido, pode haver um método mais apropriado de executar a consulta. Não hesite em contactar-me se precisar de mais informações.
fonte
arp-scan
instalado a partir de homebrew ou macports. Ou, se você só quer começar uma sensação para os anfitriões na rede, você pode olhar para a tabela ARP atual usando um comando já no OS X:arp
. Especificamente, você pode usar o comandoarp -n -i <interface> -l -a
, onde<interface>
deve estar o nome da interface de rede que lhe interessa (por exemploen0
).No Linux, você pode usar o comando getent da libc:
Ou instale o avahi-utils e execute
fonte
avahi-tools
no Fedora e é a única coisa sobre esta página que trabalhou :)Isso parece funcionar:
De Diversão com DNS multicast
fonte
Bem, eu fiz um pouco mais de pesquisa sobre este e, olhando o mDNDS e o protocolo, parece que isso não é realmente possível. Há uma solicitação de pesquisa no protocolo para recuperação de nomes; portanto, quando você solicita um nome, o cliente apropriado responde, mas não há uma solicitação de pesquisa para um IP. Também não há armazenamento central para endereços.
Espero que isso ajude outra pessoa, já que passei muito tempo rastreando isso.
Se alguém tiver outras idéias sobre essas questões, eu adoraria ouvi-las.
fonte