Como descobrir como o DNS é resolvido no computador cliente?

4

Em um cliente windows 7, quando faço ping em um host LAN MYSTERY, ele me fornece o IP correto. No entanto, quando eu faço nslookup MYSTERY, ele diz domínio inexistente. Eu verifiquei o DNS listado no ipconfig e descobri que o nome do host MYSTERY não está listado. O servidor DHCP também não possui a entrada. O mesmo comportamento ocorre depois que eu faço ipconfig / flushdns. Não há entrada no arquivo host do Windows local também.

Como posso descobrir onde o cliente está obtendo o IP resolvido?

Nota: MYSTERY é um Synology Rackstation configurado para se juntar ao domínio da rede.

    
por Jake 04.03.2015 / 04:17

3 respostas

9

Sua máquina Windows deve ter algum tipo de resolvedor mDNS ( Bonjour ), seja do iTunes , Skype ou outro software que instale um resolvedor mDNS. ping será resolvido corretamente se um resolvedor for instalado porque LLMNR agora é usado no Windows Vista e acima. O LLMNR utiliza o resolvedor mDNS para retornar o registro.

A Synology usa um daemon chamado avahi, que é um servidor DNS Multicast / mDNS / DNS-SD. Da fábrica, a Synology sai da caixa configurada como "RackStation" ou hostname do que eu experimentei.

Se você tiver um Mac, dns-sd -B mostrará serviços multicast. Você verá o _http._tcp.local. serviço listado para RackStation.

dns-sd -G v4 RackStation.local deve fornecer o endereço IP correto para seu RackStation

dns-sd -L RackStation _http._tcp. deve retornar todas as informações do serviço, isso inclui números de porta, serial, modelo, etc

Isso também se aplica ao DiskStation. Eu fiz meu teste em um DiskStation. RackStation deve ser o mesmo.

    
por 04.03.2015 / 06:38
3

(Esta resposta provavelmente está errada. @xeon parece estar no caminho certo e eu aprendi alguma coisa aqui.)

A razão pela qual uma pesquisa de DNS falha é porque o ping não está usando o DNS para resolver esse nome.

nslookup é um comando para pesquisas de DNS. Por outro lado, ping também tentará usar o NetBIOS / WINS e o arquivo de hosts para resolução de nomes. O cenário mais provável é que esse nome tenha sido obtido por meio do primeiro.

Você pode usar nbtstat -c para listar os nomes NetBIOS e os endereços IP que foram vistos recentemente, ou nbtstat -a <device> se você quiser procurar ativamente por um nome. Tenha em mente que -a demorará mais tempo, pois é necessário tentar isso uma vez por interface. (você não pode dizer para pular broadcast / somente usar o WINS)

A opção -r permite comparar o que foi resolvido por transmissão com o que foi resolvido por meio do WINS, mas isso está ficando um pouco mais avançado.

    
por 04.03.2015 / 04:29
0

Verifique o arquivo hosts do seu Windows para garantir que você não tenha uma entrada codificada. Isso forçará a resolução de nomes, mesmo que não seja resolvível lá.

    
por 05.03.2015 / 06:35