Pour certains domaines, nslookup
me donne un Non-authoritative answer
section. Qu'est-ce que ça veut dire?
Got answer:
HEADER:
opcode = QUERY, id = 3, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional =
QUESTIONS:
www.ssss.com.SME, type = AAAA, class = IN
AUTHORITY RECORDS:
-> (root)
ttl = 1787 (29 mins 47 secs)
primary name server = a.root-servers.net
responsible mail addr = nstld.verisign-grs.com
------------
Non-authoritative answer:
------------
------------
Name: example.com
Address: 93.184.216.34
Aliases: www.example.com
Fondamentalement, c'est ce que son nom l'indique. Une réponse faisant autorité provient d'un serveur de noms considéré comme faisant autorité pour le domaine pour lequel il renvoie un enregistrement (l'un des serveurs de noms de la liste pour le domaine pour lequel vous avez effectué une recherche), et une réponse sans autorité vient de n'importe où ailleurs (un serveur de noms pas dans la liste du domaine sur lequel vous avez effectué une recherche).
Il s'agit essentiellement d'une distinction entre un serveur de noms qui est un serveur de noms officiel pour le domaine que vous interrogez et un serveur de noms qui ne l'est pas. Les serveurs de noms qui ne font pas autorité obtiennent leurs réponses de seconde main (ou troisième ou quatrième ...) - simplement en relayant les informations ailleurs.
Ainsi, par exemple, si j'ai fait une recherche n de maps.google.com
pour le moment, j'obtiendrais une réponse d'un de mes serveurs de noms configurés. (Soit de mon FAI, soit de mon domaine.) Il reviendrait comme sans autorité car ni les serveurs de noms de mon FAI, ni les miens ne figurent dans la liste des serveurs de noms pour google.com
. Ce ne sont pas les serveurs de noms de Google, ils ne sont donc pas la source faisant autorité qui crée les enregistrements NS.
La liste des serveurs de noms faisant autorité pour Google est ci-dessous (sur whois.internic.net).
Nom de domaine: GOOGLE.COM
Registraire: MARKMONITOR INC.
Serveur Whois: whois.markmonitor.com
Serveur de noms: NS1.GOOGLE.COM
Serveur de noms: NS2.GOOGLE.COM
Serveur de noms: NS3.GOOGLE.COM
Serveur de noms: NS4.GOOGLE.COM
Date de mise à jour: 20-juil-2011
Date de création: 15-sep-1997
Date d'expiration: 14-sep-2020
Si j'ai changé mon serveur DNS configuré pour l'un de ceux de cette liste, puis j'ai fait un nslookup
contre maps.google.com
, J'obtiendrais une réponse faisant autorité. Ces serveurs sont l'autorité (ou la source) pour ce qui est des noms valides dans les domaines de Google, et ce qui ne l'est pas. Tous les autres serveurs de noms, les serveurs de noms sans autorité, obtiennent leurs enregistrements NS des serveurs faisant autorité quelque part sur la ligne.
La réponse que vous avez reçue est essentiellement une réponse mise en cache ou transférée de votre serveur DNS local. Fondamentalement, un serveur de noms sans autorité est un serveur qui ne contient pas les enregistrements de la zone interrogée; votre DNS local n'aura probablement pas les enregistrements de nom de Google, par exemple.
Vous pouvez obtenir les serveurs de noms faisant autorité pour un domaine donné en exécutant Host -t ns example.com
pour récupérer l'enregistrement NS pour example.com.
Dans le cas de Google, nous voyons:
$ Host -t ns google.com
google.com name server ns4.google.com.
google.com name server ns1.google.com.
google.com name server ns2.google.com.
google.com name server ns3.google.com.
Si vous exécutez ensuite votre commande nslookup
sur l'un de ces serveurs, vous obtiendrez la réponse faisant autorité:
$ nslookup www.google.com ns1.google.com
Server: ns1.google.com
Address: 216.239.32.10#53
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 173.194.43.49
Name: www.l.google.com
Address: 173.194.43.50
Name: www.l.google.com
Address: 173.194.43.48
Name: www.l.google.com
Address: 173.194.43.52
Name: www.l.google.com
Address: 173.194.43.51
Si vous utilisez nslookup
, pour obtenir le type d'enregistrement NS, vous pouvez exécuter quelque chose comme ceci en mode interactif:
$ nslookup
> set querytype=ns
> google.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
google.com nameserver = ns3.google.com.
google.com nameserver = ns4.google.com.
google.com nameserver = ns1.google.com.
google.com nameserver = ns2.google.com.
Authoritative answers can be found from:
ns1.google.com internet address = 216.239.32.10
Donc, en définissant querytype=ns
fait ce que la commande Host
ci-dessus a fait.
La réponse sans autorité signifie simplement que la réponse n'est pas extraite du serveur DNS faisant autorité pour le nom de domaine interrogé.
Vous devez d'abord comprendre comment fonctionne le système DNS. Le système DNS peut être divisé en trois niveaux. Elles sont:
Il existe une autre classe de serveurs DNS généralement appelée serveur DNS local dont l'adresse IP est spécifiée sur votre système d'exploitation.
Lorsque votre navigateur se connecte à un site Web, par exemple example.com, le navigateur interroge d'abord votre serveur DNS local pour obtenir l'adresse IP d'exemple.com.
Si le serveur DNS local n'a pas l'enregistrement A d'exemple.com, il interrogera l'un des serveurs DNS racine.
Le serveur DNS racine dira: Je n'ai pas l'enregistrement A mais je connais le serveur DNS de domaine de niveau supérieur qui est responsable des domaines .com.
Ensuite, votre serveur DNS local interroge le serveur DNS de domaine de niveau supérieur qui est responsable des domaines .com. Le serveur DNS TLD répondra: je ne sais pas non plus mais je sais quel serveur DNS fait autorité pour example.com.
Ce résultat de requête est ensuite mis en cache sur votre serveur DNS local mais il peut être obsolète. Lorsque le temps TTL a expiré, votre serveur DNS local mettra à jour le résultat de la requête à partir du serveur DNS faisant autorité. Chaque fois que vous interrogez un enregistrement DNS sur votre serveur DNS local, il renvoie un document sans autorité ( réponse non officielle. Si vous voulez une réponse faisant autorité, vous devez spécifier explicitement le serveur DNS faisant autorité lorsque vous utilisez nslookup ou d'autres utilitaires. Je pense qu'un serveur DNS local devrait être appelé serveur DNS de mise en cache.
Lorsque quelqu'un enregistre un nom de domaine, il/elle peut spécifier quel serveur DNS est le serveur DNS faisant autorité. Ces informations sont appelées un enregistrement NS. L'enregistrement NS indiquera à un serveur DNS de domaine de niveau supérieur quel serveur de noms contient l'enregistrement A du domaine, l'enregistrement MX, etc.). .
De Wireshark Lab: DNS v6.01 : However, nslookup also indicates that the answer is “non-authoritative,” meaning that this answer came from the cache of some server rather than from an authoritative MIT DNS server