Question Forcer l'outil Dig à nous renvoyer les réponses des serveurs racine


En faisant un dig sur un site (par exemple, www.nasa.gov) de différents sites d’outils de fouille en ligne (dans ce cas, http://networking.ringofsaturn.com/Tools/dig.php et http://www.kloth.net/services/dig.php), J'ai remarqué que leurs réponses sont différentes. J'imagine que cela signifie que les réponses que chacun d'entre eux obtient ne proviennent pas de serveurs DNS racine, mais de serveurs locaux (par exemple, leurs fournisseurs de services Internet).

Ce que j'aimerais savoir, c'est comment forcer l'outil Dig à renvoyer les informations provenant des serveurs racine eux-mêmes. Est-ce possible?

Merci


4
2018-04-29 12:27


origine




Réponses:


Pour obtenir des informations faisant autorité à l'aide de dig, vous utilisez généralement une combinaison de + trace et de @server. Par exemple, si je veux des informations importantes sur www.google.com, je le ferais comme suit:

# dig +trace NS google.com

; <<>> DiG 9.4.2-P2 <<>> +trace NS google.com
;; global options:  printcmd
.                       3600000 IN      NS      L.ROOT-SERVERS.NET.
.                       3600000 IN      NS      M.ROOT-SERVERS.NET.
.                       3600000 IN      NS      D.ROOT-SERVERS.NET.
.                       3600000 IN      NS      I.ROOT-SERVERS.NET.
.                       3600000 IN      NS      H.ROOT-SERVERS.NET.
.                       3600000 IN      NS      F.ROOT-SERVERS.NET.
.                       3600000 IN      NS      C.ROOT-SERVERS.NET.
.                       3600000 IN      NS      G.ROOT-SERVERS.NET.
.                       3600000 IN      NS      B.ROOT-SERVERS.NET.
.                       3600000 IN      NS      K.ROOT-SERVERS.NET.
.                       3600000 IN      NS      E.ROOT-SERVERS.NET.
.                       3600000 IN      NS      A.ROOT-SERVERS.NET.
.                       3600000 IN      NS      J.ROOT-SERVERS.NET.
;; Received 244 bytes from 192.168.0.42#53(192.168.0.42) in 3 ms

com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
;; Received 488 bytes from 128.8.10.90#53(D.ROOT-SERVERS.NET) in 129 ms

google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.
;; Received 164 bytes from 192.31.80.30#53(d.gtld-servers.net) in 149 ms

google.com.             345600  IN      NS      ns4.google.com.
google.com.             345600  IN      NS      ns3.google.com.
google.com.             345600  IN      NS      ns2.google.com.
google.com.             345600  IN      NS      ns1.google.com.
;; Received 164 bytes from 216.239.32.10#53(ns1.google.com) in 32 ms

Maintenant, j'ai les serveurs de noms répertoriés pour google.com, ainsi que l'adresse IP de l'un d'entre eux. Je peux demander directement à ce serveur de noms les enregistrements:

# dig www.google.com @216.239.32.10

; <<>> DiG 9.4.2-P2 <<>> www.google.com @216.239.32.10
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24224
;; flags: qr aa rd; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         604800  IN      CNAME   www.l.google.com.
www.l.google.com.       300     IN      A       209.85.148.104
www.l.google.com.       300     IN      A       209.85.148.103
www.l.google.com.       300     IN      A       209.85.148.99
www.l.google.com.       300     IN      A       209.85.148.105
www.l.google.com.       300     IN      A       209.85.148.106
www.l.google.com.       300     IN      A       209.85.148.147

;; Query time: 34 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: Fri Apr 29 15:22:40 2011
;; MSG SIZE  rcvd: 148

8
2018-04-29 13:27



+1 Belle réponse qui démontre visuellement ce que j'ai posté dans ma réponse. - joeqwerty


Les serveurs racine ne répondent pas aux requêtes pour les domaines de second niveau. Les serveurs gTLD ne répondent pas aux requêtes des domaines de second niveau (autres que le renvoi des serveurs de noms pour les domaines de second niveau). Les serveurs de noms faisant autorité pour le domaine de second niveau répondent aux requêtes relatives à ce domaine de second niveau. Vous pouvez interroger un gTLD pour trouver les serveurs de noms d'un domaine spécifique, puis interroger ces serveurs de noms pour les enregistrements de ressources de ce domaine.

Serveurs racine

----------------> Serveurs gTLD

----------------------------------> Serveurs de noms Authorataive

-------------------------------------------------- -------------------> Enregistrements de ressources


5
2018-04-29 12:51





Une requête récursive (par exemple) pour un server.example.tld ne doit jamais être demandée aux serveurs racine, mais uniquement aux serveurs qui gèrent les domaines de niveau supérieur (.tld dans l'exemple).

Cependant, je pense que vous voulez une réponse d'un serveur faisant autorité. Pour ce faire faire:

1) Demander le champ de serveur de noms NS, au lieu de A - adresse IPv4, pour le domaine nasa.gov

2) Remplacez le champ du serveur par l’un des serveurs obtenus au point 1).

3) Posez la question sur l'adresse de www.nasa.gov.

La même procédure fonctionne pour tout autre domaine, bien sûr.

La procédure fonctionne pour une fouille CLI et avec http://www.kloth.net/services/dig.php interface.


4
2018-04-29 12:52