Existem domínios, que estão registrados no DNS apenas com um registro SOA, mas sem nenhum registro A (ou qualquer outro registro):
> dig wien.eu
; <<>> DiG 9.9.7-P3 <<>> wien.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu. IN A
;; AUTHORITY SECTION:
wien.eu. 1922 IN SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400
;; Query time: 134 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Dec 02 19:45:19 CET 2017
;; MSG SIZE rcvd: 101
O que parece ser um registro A é apenas um comentário (começa com um ponto e vírgula). Mesmo se não fosse um comentário, seria malformado (ou seja, não um registro A) porque não contém nenhum endereço IP.
A maioria dos comandos, que geralmente resolvem nomes de domínio (como ping, telnet e outros) usando DNS falhará se não houver nada além de uma entrada SOA (e muitos comentários e linhas vazias).
Além disso, muitos webbrowsers não podem abrir um site em um domínio somente SOA, como http://wien.eu , entre eles:
- Google Chrome
- Ópera
- Navegador Tor
Mas há navegadores que abrirão um site se você digitar um nome de domínio:
- Safári
- Raposa de fogo
Não pude testar o Internet Explorer, porque uso o Mac OS e não está disponível lá.
No caso do exemplo dado, eles redirecionam para outra URL (que, ao contrário, parece uma maneira significativa de resolver a URL fornecida, o que me faz acreditar ser o comportamento desejado).
Eu me pergunto, o que o Safari e o Firefox fazem para realizar esse milagre, que outros navegadores e ferramentas não podem fazer.
btw: Eu pensei em saber como funciona o DNS, e pensei, isso significaria, que somente domínios SOA como wien.eu não podem ser resolvidos para um endereço IP. Mas o Safari e o Firefox provam o contrário.
Adendo em reação a uma resposta.
Todos os 5 navegadores usados no meu teste são as versões mais recentes, e todas elas são executadas no mesmo computador (iMac com Mac OS X 10.13 High Sierra). Então, todos usam exatamente o mesmo sistema operacional e também usam exatamente o mesmo servidor DNS.
E não há registro AAAA no arquivo de zona (como você pode ver na saída citada escavação acima).
E se você não pode acreditar: Experimente. Use qualquer ferramenta que você deseja verificar as configurações de DNS de wien.eu e tente abri-lo em dois navegadores diferentes que pertencem a cada um dos dois grupos listados acima.
https://www.wien.gv.at/
. Parece um registro DNS mal gerenciado.https://www.wien.gv.at/
. Eu entendo o redirecionamento, mas não entendo como a resolução do nome de domínio funciona neste caso.Respostas:
Não acredito que outros navegadores possam resolver o domínio (a menos que haja registros CNAME ou AAAA que ajudem o DNS a descobrir aonde ir em seguida, e devem ser igualmente reconhecidos por qualquer navegador).
Algumas possíveis explicações do comportamento visto -
Diferentes servidores de nomes sendo escolhidos com informações de arquivo de zona diferentes (possivelmente dividir o armazenamento em cache de DNS ou DNS)
Hospeda entradas de arquivos em alguns computadores, mas não em outros, ou em um domínio de pesquisa que pode modificar as entradas de fallback do DNS.
Use se um proxy de armazenamento em cache - possivelmente um proxy transparente no nível do ISP.
Um pouco se um palpite, mas se houver um registro AAAA, pode haver limitações no navegador e / ou no sistema operacional lidando com o recurso IPV6.
É importante que os navegadores da Web não façam a resolução de DNS, em vez de fazer uma chamada IS e deixar o IS lidar com isso. AFAIK isso é verdade se todos os navegadores.
Resposta atualizada específica para este servidor e à luz de informações adicionais
Uma das explicações possíveis na minha resposta anterior "Servidores de nomes diferentes sendo escolhidos com informações de arquivo de zona diferentes (possivelmente com cache DNS ou DNS dividido)" estavam corretos.
Fazer a consulta idêntica duas vezes ao mesmo servidor de nomes autoritativo gerou resultados diferentes da seguinte forma:
davidgo @ davidgo-Precision-T1500: ~ $ dig @ dns1.wien.at wien.at
Isso definitivamente significa que há um problema com a configuração dos servidores de nomes, mas pode ser qualquer coisa, incluindo problemas com um servidor de nomes principal oculto, problemas com o servidor de nomes real, problemas com alguns membros de um cluster DNS ou uma combinação dos anteriores . Vale a pena notar que os registros do servidor de nomes retornados também são diferentes.
Eu também acredito que algum cache de nameserver está acontecendo no sistema operacional, como a consulta que retornou um resultado realmente retorna ao navegador bastante raramente.
Também é digno de nota que sua consulta de escavação não foi feita contra um servidor de nomes autoritário - e muitos / muitos ISPs usam pools de nameservers com um único endereço IP - cada qual pode ter informações diferentes devido ao cache de zona. Isso é óbvio se você fizer uma consulta (por exemplo) 8.8.8.8 - Googles "primary" nameserver, várias vezes, e observar o salto TTL em alta velocidade dependendo de qual servidor de nomes de backend você obter. (o TTL é o número entre o nome do domínio e o "IN" no registro SOA, mas existe em todos os registros. Se houvesse apenas um único servidor, esse número diminuiria à medida que os segundos passassem até que ele saltasse quando chegasse 0 e faz uma nova pesquisa.
fonte
Eu encontrei a resposta para minha própria pergunta, capturando o tráfego IP.
Em poucas palavras
Quando o firefox não recebeu um endereço IP para
wien.eu
, pediu (sem quaisquer ordens do usuário ou qualquer outra pessoa) parawww.wien.eu
em vez disso (juntou-se ao prefixowww.
para o nome de domínio original). Como há um registro A válido para esse outro domínio, ele recebeu uma resposta (ou seja, um endereço IP), enviou umHTTP GET
para este site, tenho301 redirect
e, em seguida, carregou o recurso redirecionado.Obviamente, outros navegadores não fazem este truque.
Em detalhe
eu usei Kali Linux como Sistema Operacional, e lá eu iniciei o Firefox. Eu usei o Wireshark para capturar o tráfego. Aqui estão minhas descobertas em detalhes:
O Firefox pede
A
eAAAA
Registros de DNS parawien.eu
e parawien.eu.localdomain
e sempre recebe a respostaNo such name
. Ele pede seu gateway padrão, que obviamente também é um servidor DNS.Em seguida, o Firefox repete exatamente as mesmas quatro consultas e recebe exatamente as mesmas respostas (mensagens # 9 a # 16, tempo = 0,047, 0,053, 0,054, 0,054)
E novamente (mensagens # 17 a # 24, tempo = 0,057 a 0,083)
E novamente (mensagens # 25 a # 32, tempo = 0,083 a 0,095)
Na rodada 5, o Firefox adiciona o prefixo
www.
para o nome do domínio e agora obtém respostas úteis:Desde que o Firefox tem um endereço IP, ele cria uma conexão TCP para esse endereço (handshake TCP, mensagens 37-39). Então, na mensagem # 40, envia uma solicitação HTTP GET para este destino:
O servidor confirma este pedido (mensagem # 41) e envia esta resposta na mensagem # 42:
O resto é claro:
www.wien.gv.at
(A e AAAA, mensagens # 44 e # 45)fonte