'cavar qualquer' resultados errados, dados perdidos

5

Eu estava brincando com 'dig' mostrando a um amigo como ele funcionava quando percebi um comportamento estranho com o tipo 'any'.

Acredito que usar 'dig any' obterá todos os tipos de registro automaticamente, mas isso não parece estar acontecendo por algum motivo.

Aqui está minha saída ...

; > DiG 9.4.3-P3> QUALQUER sourceforge.net

;; SEÇÃO DE PERGUNTA:
; sourceforge.net EM QUALQUER

;; SEÇÃO DE RESPOSTA:
sourceforge.net. 2390 EM UM 216.34.181.60
sourceforge.net. 3279 IN NS ns-1.sourceforge.com.
sourceforge.net. 3279 IN NS ns-1.ch3.sourceforge.com.
sourceforge.net. 3279 IN NS ns-2.ch3.sourceforge.com.

;; SEÇÃO ADICIONAL:
ns-2.ch3.sourceforge.com. 3221 EM A 216.34.181.22

Observe como está faltando os registros MX? Então eu corri "dig MX" e fiquei bem com os registros MX. Então eu decidi correr 'cavar qualquer' novamente para verificar que eu não estava enlouquecendo e eu tenho os seguintes resultados ...

;; SEÇÃO DE PERGUNTA:
; sourceforge.net EM QUALQUER

;; SEÇÃO DE RESPOSTA:
sourceforge.net. 2379 EM A 216.34.181.60
sourceforge.net. 3268 IN NS ns-1.ch3.sourceforge.com.
sourceforge.net. 3268 IN NS ns-2.ch3.sourceforge.com.
sourceforge.net. 3268 IN NS ns-1.sourceforge.com.
sourceforge.net. 3597 IN MX 10 mx.sourceforge.net.

;; SEÇÃO ADICIONAL:
ns-2.ch3.sourceforge.com. 3210 EM A 216.34.181.22
mx.sourceforge.net. 1653 EM UM 216.34.181.68

E agora os registros MX aparecem!

alguma ideia do que está acontecendo? Como eu faço realmente mostrar todos os registros pela primeira vez?

Obrigado!

Snowpoch
fonte
Você pode reproduzir isso em outra máquina, consultando um servidor diferente ou em outro momento (quando caches suficientes expiraram)? O DNS não é confiável, então eu suspeito de um problema em algum lugar (por exemplo, um pacote perdido ou um pacote atrasado que não era de garçom), provavelmente no provedor DNS do sourceforge, já que as informações deveriam estar em um único pacote UDP.
Gilles

Respostas:

6

OK, resolvi qual é o problema. Quando eu executo 'any' normalmente, ele obtém seus resultados do meu cache local, então ele só exibe os registros que eu já vi.

Para ignorar isso e recuperar todos os registros corretamente, tenho que direcionar minha consulta para o servidor de nomes autoritativo para esse domínio.

Aqui está o one-liner que eu estou usando agora para fazer isso ...

cava qualquer stackoverflow.com @ `dig + short SOA stackoverflow.com | corte -d '' -f1`

Dá (primeira vez) ...

;; SEÇÃO DE PERGUNTA:
stackoverflow.com. EM QUALQUER

;; SEÇÃO DE RESPOSTA:
stackoverflow.com. 86400 IN SOA ns1.p19.dynect.net. jatwood.stackoverflow.com. 2009090960 3600 600 604800 60
stackoverflow.com. 86400 IN NS ns3.p19.dynect.net.
stackoverflow.com. 86400 IN NS ns2.p19.dynect.net.
stackoverflow.com. 86400 IN NS ns4.p19.dynect.net.
stackoverflow.com. 86400 IN NS ns1.p19.dynect.net.
stackoverflow.com. 432000 IN A 69.59.196.211
stackoverflow.com. 172800 IN MX 50 aspmx3.googlemail.com.
stackoverflow.com. 172800 IN MX 10 aspmx.l.google.com.
stackoverflow.com. 172800 IN MX 20 alt1.aspmx.l.google.com.
stackoverflow.com. 172800 IN MX 30 alt2.aspmx.l.google.com.
stackoverflow.com. 172800 IN MX 40 aspmx2.googlemail.com.
stackoverflow.com. 172800 IN TXT "v = spf1 a mx ip4: 69.59.196.211 ip4: 69.59.196.210 ip4: 69.59.196.211 ip4: 69.59.196.212 ip4: 69.59.196.213 ip4: 69.59.196.214 ip4: 69.59.196.215 ip4: 69.59.196.216 ip4 : 69.59.196.217 ip4: 69.59.196.218 ip4: 69.59.196.219 ip4: 69.59.196.220 incluem: cmail1.com ~ all "

Qual é exatamente o tipo de saída que eu preciso.

Desfrutar!

Snowpoch
fonte
1
Não sei muito sobre o DNS, mas não acho que o cache local deva se comportar dessa maneira. Qual software é isso?
Gilles,
No meu conhecimento, Dig não deveria funcionar assim também. Se nenhum servidor for especificado, ele deve estar se conectando ao servidor de nomes padrão do computador. Não usando cache.
apraetor