O problema é que o número está sendo interpretado como o equivalente decimal de um endereço IP pontilhado. A maneira mais fácil de confirmar é abrir o cliente nslookup
e repetir seus testes lá. Esta é uma das razões pelas quais os rótulos DNS puramente numéricos são uma má ideia; As bibliotecas do resolvedor aceitam uma entrada de endereços IP e entidades DNS, e tenderão a errar em favor de passar representações de endereços IP através de não modificadas. Somente ferramentas focadas no DNS, como nslookup
e dig
, que ignoram a biblioteca de resolvedores e , assumem que a entrada deve ser interpretada como um nome, estará isenta disso.
Solução alternativa: Use o nome totalmente qualificado. ( 300010100.contoso.com
em vez de 300010100
) Isso força o resolvedor a interpretar a entrada como uma entidade DNS e evita a tradução indesejada para o endereço IP. Se você se encontrar em um cenário bizarro em que 300010100
é o FQDN e não há nenhum componente de domínio, anexe um ponto ao final. ( 300010100.
) O ponto final informa ao resolvedor que este é um nome completo e força o inteiro a ser interpretado como um nome.
(note que minha estação de trabalho do Windows 7 traduz 300010100 para 17.225.202.116 usando o comando ping, e eu preciso de um valor de 10100030 para replicar seu resultado de 0.154.29.62. Obfuscação na sua pergunta, talvez?)