Objectifs de certification

CCNA 200-301

  • 4.3 Expliquer le rôle de DHCP et de DNS au sein du réseau


Protocole de résolution de noms DNS

1. Protocole DNS

1.1. Introduction

Au niveau protocolaire, seules les adresses IP sont utilisées pour déterminer les partenaires d’une communication. Mais dans l’usage courant d’Internet, on utilise des noms pour joindre des machines sur le réseau : c’est plus facile à manipuler que des adresses IP (à plus forte raison si elles changent ou si elles sont difficiles à retenir).

Le protocole et le système DNS permet de résoudre des noms en adresses IP. DNS est une sorte de service mondial de correspondance entre des noms et des adresses IP, mais uniquement ; plus précisément, DNS est un système d’interrogation d’un registre à portée mondiale.

Les leaders du marché IT recommandent son usage pour déployer leurs solutions.

DNS utilise les ports UDP/TCP 53 pour ses transactions. Les transferts de zones utilisent TCP alors que les requêtes habituelles utilisent UDP.

1.2. La résolution de noms

Dans le domaine des réseaux, la résolution de nom fait généralement référence au Domain Name System (DNS), service Internet qui associe des noms d’hôtes à leurs adresses IP;

La résolution de noms sur les réseaux peut aussi se faire grâce aux technologies suivantes :

  • WINS (Windows Internet Naming Service) pour les clients utilisant les noms NetBIOS. Samba peut aussi agir comme serveur WINS,
  • NIS Protocole permettant la centralisation d’information sur un réseau Unix. Notamment les noms d’hôtes (/etc/hosts) et les comptes utilisateurs (/etc/passwd).

1.3. Résolution locale

Le fichier hosts est un fichier utilisé par le système d’exploitation d’un ordinateur lors de l’accès à Internet. Son rôle est d’associer des noms d’hôtes à des adresses IP.

Lors de l’accès à une ressource réseau par nom de domaine, ce fichier est consulté avant l’accès au serveur DNS et permet au système de connaître l’adresse IP associée au nom de domaine sans avoir recours à une requête DNS.

Le fichier “host” est en texte brut et est habituellement nommé hosts. Les modifications sont prises en compte directement. Il est présent dans la plupart des systèmes d’exploitation.

  • Unix, Unix-like,POSIX dans /etc/hosts
  • Microsoft Windows %SystemRoot%\system32\drivers\etc\hosts

2. Domain Name System (DNS)

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire un nom de domaine en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom. À la demande de la DARPA, Jon Postel et Paul Mockapetris ont conçu le “Domain Name System” en 1983 et en écrivirent la première réalisation.

La page Wikipedia https://fr.wikipedia.org/wiki/Domain_Name_System est très instructive. En voici un canevas :

  • Un système hiérarchique et distribué
  • Serveurs DNS racine
  • Fully Qualified Domain Name
  • Nom de domaine internationalisé
  • Les techniques du DNS Round-Robin pour la distribution de la charge
  • Principaux enregistrements DNS
  • Time to live
  • Glue records
  • Mise à jour dynamique
  • Considérations opérationnelles

2.1. Enregistrements DNS

La bases de données d’une zone (un domaine) peut comporter certains types d’enregistrements DNS comme par exemple :

  • A record ou address record qui fait correspondre un nom d’hôte à une adresse IPv4 de 32 bits distribués sur quatre octets ex: 123.234.1.2 ;
  • AAAA record ou IPv6 address record qui fait correspondre un nom d’hôte à une adresse IPv6 de 128 bits distribués sur seize octets ;
  • CNAME record ou canonical name record qui permet de faire d’un domaine un alias vers un autre. Cet alias hérite de tous les sous-domaines de l’original ;
  • MX record ou mail exchange record qui définit les serveurs de courriel pour ce domaine ;
  • PTR record ou pointer record qui associe une adresse IP à un enregistrement de nom de domaine, aussi dit “reverse” puisqu’il fait exactement le contraire du A record ;
  • NS record ou name server record qui définit les serveurs DNS de ce domaine ;
  • SOA record ou Start Of Authority record qui donne les informations générales de la zone : serveur principal, courriel de contact, différentes durées dont celle d’expiration, numéro de série de la zone ;
  • SRV record qui généralise la notion de MX record, mais qui propose aussi des fonctionnalités avancées comme le taux de répartition de charge pour un service donné, standardisé dans la RFC 2782.

2.2. DNS IPv6

DNS est un service accessoire au sens protocolaire (IP fonctionne sans DNS) mais dans la pratique il est indispensable.

Contrairement à DHCPv6, le fonctionnement de DNS en IPv6 a subi moins d’impacts.

Dans une topologie Dual Stack IPv4/IPv6, le système d’exploitation ou l’application aura une préférence pour les ressources résolues en IPv6.

2.3. Hiérarchie des zones DNS et récursivité

Les domaines se trouvant immédiatement sous la racine sont appelés domaine de premier niveau (TLD : Top Level Domain). Les noms de domaines ne correspondant pas à une extension de pays sont appelés des domaines génériques (gTLD), par exemple .org ou .com. S’ils correspondent à des codes de pays (fr, be, ch…), ce sont des domaines de premier niveau national, aussi appelés ccTLD de l’anglais country code TLD.

Hiérarchie DNS

On représente un nom de domaine en indiquant les domaines successifs séparés par un point, les noms de domaines supérieurs se trouvant à droite. Par exemple, le domaine org. est un TLD, sous-domaine de la racine. Le domaine wikipedia.org. est un sous-domaine de .org. Cette délégation est accomplie en indiquant la liste des serveurs DNS associée au sous-domaine dans le domaine de niveau supérieur.1

Récursivité DNS)

Résolution itérative d’un nom dans le DNS par un serveur DNS (étapes 2 à 7) et réponse (étape 8) suite à l’interrogation récursive (étape 1) effectuée par un client (resolver) DNS. (remarque: Le serveur DNS récursif est dit récursif car il accepte ce type de requêtes mais il effectue des requêtes itératives)

2.5. Messages DNS

https://www.cloudshark.org/captures/eeee08990b96

1 0.000000000 2001:6f8:14e9:0:8972:1e9:5cf0:5c68 -> 2001:4860:4860::8888 DNS 94 Standard query 0xab3e  AAAA www.google.com
2 0.035248000 2001:4860:4860::8888 -> 2001:6f8:14e9:0:8972:1e9:5cf0:5c68 DNS 122 Standard query response 0xab3e  AAAA 2a00:1450:4013:c00::63

Domain Name System (response)
    Transaction ID: 0xab3e
    Flags: 0x8180 Standard query response, No error
    Questions: 1
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 0
    Queries
        www.google.com: type AAAA, class IN
            Name: www.google.com
            Type: AAAA (IPv6 address)
            Class: IN (0x0001)
    Answers
        www.google.com: type AAAA, class IN, addr 2a00:1450:4013:c00::63
            Name: www.google.com
            Type: AAAA (IPv6 address)
            Class: IN (0x0001)
            Time to live: 4 minutes, 59 seconds
            Data length: 16
            Addr: 2a00:1450:4013:c00::63

2.6. Déploiements du service DNS

Un serveur DNS a autorité sur une zone si il est celui qui connait les réponses aux demandes transférées par d’autres. Un serveur DNS récursif est celui qui transfère les demandes et rend les réponses.

  • Serveur Resolver (cache, récursif) : Répond pour des clients en sollicitant ses serveurs.
  • Serveur Master/Slave pour une zone : Répond avec autorité sur une zone.
  • Serveur Forwarding (proxy) : Transfert.
  • Serveur Split : Deux serveurs distincts pour une zone privée et une zone publique au nom identique.
  • Serveur View Based : Deux serveurs virtuels sur une seule machine en alternative au déploiement précédent.

On configure la une base de donnée pour la zone et la zone inverse

Dans la zone inverse, on inverse l’ordre des quatre termes de l’adresse et on la concatène au pseudo domaine in-addr.arpa. Ainsi, par exemple, pour trouver le nom de domaine de l’adresse IP 91.198.174.2, on résout 2.174.198.91.in-addr.arpa.2:

2.7. Fully qualified Domain Name

Un hôte DNS doit disposer d’un FQDN (“Fully qualified Domain Name”) soit un un nom de domaine écrit de façon absolue, y compris tous les domaines jusqu’au domaine de premier niveau (TLD); il est ponctué par un point final.3:

2.8. Serveurs DNS racine

Les serveurs racine sont gérés par douze organisations différentes : deux sont européennes, une japonaise et les neuf autres sont américaines. Sept de ces serveurs sont en réalité distribués dans le monde grâce à la technique anycast et neuf disposent d’une adresse IPv6. Grâce à anycast, plus de 200 serveurs répartis dans 50 pays du monde assurent ce service. Il existe 13 autorités de nom appelées de a à m.root-servers.net. Le serveur k reçoit par exemple de l’ordre de 40 000 à 60 000 requêtes par seconde en 2016.

Le DNS ne fournit pas de mécanisme pour découvrir la liste des serveurs racine, chacun des serveurs doit donc connaître cette liste au démarrage grâce à un encodage explicite. Cette liste est ensuite mise à jour en consultant l’un des serveurs indiqués. La mise à jour de cette liste est peu fréquente de façon que les serveurs anciens continuent à fonctionner.4:

2.9. Serveurs DNS publics pour mémoire

Google en IPv4 et en IPv6 :

  • 8.8.8.8
  • 8.8.4.4
  • 2001:4860:4860::8888
  • 2001:4860:4860::8844

OpenDNS en IPv6 :

  • 2620:0:ccc::2
  • 2620:0:ccd::2

3. Configuration Cache DNS en Cisco IOS

3.1. Configuration “cache DNS”, “DNS Forwarder”

Il devrait être en mesure de résoudre son propre FQDN configuré dans le mode de configuration globale avec les commandes hostname et ip domain-name.

L’hôte doit être en mesure de résoudre des noms :

Router(config)#ip domain lookup

Il doit transférer les requêtes qu’il reçoit auprès du serveur de sa connexion Internet.

Router(config)#ip name-server 8.8.8.8

Activation du service.

Router(config)#ip dns server

3.2. Qui pousse les paramètres d’un serveur DNS dans le LAN ?

En IPv4, ce sera un service DHCP.

En IPv6, ce sera :

  • soit via un message “DHCPv6 INFORMATION-REQUEST” envoyé au serveur et son “DHCPv6 REPLY” (si le “flag” O des “Router Advertisements” (RA) est positionné à 1).
  • soit par le routeur directement via un “Router Advertisements” (RA) avec une option RDNSS (Recursive DNS Server) accepté par le système d’exploitation (Linux/Unix mais jamais MS-Windows).

3.3. Commandes IOS de configuration DNS

Commande de configurationSignification
ip dns-serveractive le service DNS sur le périphérique
ip domain <liste>configure un séquence de noms
ip domain lookupactive la résolution de DNS
ip domain name <nom>configure le domaine par défaut d’un nom d’hôte non qualifié
ip hostcrée une entrée locale de résolution de nom
ip name-server <adresse_ip>configure un résolveur de noms

4. Outils d’interrogation DNS sur les hôtes

Parmi beaucoup d’autres, on suggère deux outils d’interrogation DNS sur les hôtes.

  • nslookup, installé par défaut sous Unix et Windows.
  • dig, préféré, paquet dnsutils en Diban.

4.1. Outil “nslookup” sur un hôte terminal

Commande Linux/Windows permettant de vérifier la résolution de noms :

nslookup cisco.goffinet.org
Serveur :   UnKnown
Address:  2001:470:1f13:d02:cad7:19ff:fe23:b6bf

Réponse ne faisant pas autorité :
Nom :    cisco.goffinet.org
Addresses:  2001:6fa:202:4eb::2
          177.32.112.159

# nslookup
> set type=a
> google.com
Server:        192.168.122.1
Address:    192.168.122.1#53

Non-authoritative answer:
Name:    google.com
Address: 216.58.208.238
> set type=any
> google.com
Server:        192.168.122.1
Address:    192.168.122.1#53

Non-authoritative answer:
google.com    rdata_257 = \# 19 0005697373756573796D616E7465632E636F6D
google.com    text = "v=spf1 include:_spf.google.com ~all"
google.com    mail exchanger = 50 alt4.aspmx.l.google.com.
google.com    mail exchanger = 30 alt2.aspmx.l.google.com.
google.com    mail exchanger = 10 aspmx.l.google.com.
google.com    mail exchanger = 40 alt3.aspmx.l.google.com.
google.com    mail exchanger = 20 alt1.aspmx.l.google.com.
google.com
    origin = ns4.google.com
    mail addr = dns-admin.google.com
    serial = 112346114
    refresh = 900
    retry = 900
    expire = 1800
    minimum = 60
google.com    has AAAA address 2a00:1450:4007:80e::200e
Name:    google.com
Address: 216.58.208.238
google.com    nameserver = ns2.google.com.
google.com    nameserver = ns1.google.com.
google.com    nameserver = ns3.google.com.
google.com    nameserver = ns4.google.com.

Authoritative answers can be found from:
google.com    nameserver = ns2.google.com.
google.com    nameserver = ns3.google.com.
google.com    nameserver = ns1.google.com.
google.com    nameserver = ns4.google.com.
ns1.google.com    internet address = 216.239.32.10
ns2.google.com    internet address = 216.239.34.10
ns3.google.com    internet address = 216.239.36.10
ns4.google.com    internet address = 216.239.38.10

4.2. Introduction à Dig

Outil lié au projet Bind (pour Berkeley Internet Name Daemon, logiciel Unix serveur DNS le plus déployé dans le monde devenu un standard industriel).

dig www.google.com aaaa
; <<>> DiG 9.8.3-P1 <<>> www.google.com aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54128
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com.			IN	AAAA
;; ANSWER SECTION:
www.google.com.		63	IN	AAAA	2a00:1450:4001:801::1014
;; Query time: 123 msec
;; SERVER: 10.185.220.95#53(10.185.220.95)
;; WHEN: Wed May 21 15:04:24 2014
;; MSG SIZE  rcvd: 60

La valeur de la ligne Query time: des sorties de dig permet de se faire une idée des délais de résolution de nom. Ce délai est un indicateur de la qualité de la connexion Internet.

4.3. Dig auprès d’un serveur spécifique

On peut adresser les demandes DNS auprès de serveurs spécifiques.

dig @8.8.8.8 www.google.com aaaa
; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 www.google.com aaaa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62597
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com.			IN	AAAA
;; ANSWER SECTION:
www.google.com.		296	IN	AAAA	2a00:1450:400c:c06::93
;; Query time: 45 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed May 21 15:05:33 2014
;; MSG SIZE  rcvd: 60

Ici une demande auprès d’un serveur DNS racine.

dig

; <<>> DiG 9.10.3-P4-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47129
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			118829	IN	NS	a.root-servers.net.
.			118829	IN	NS	b.root-servers.net.
.			118829	IN	NS	c.root-servers.net.
.			118829	IN	NS	d.root-servers.net.
.			118829	IN	NS	e.root-servers.net.
.			118829	IN	NS	f.root-servers.net.
.			118829	IN	NS	g.root-servers.net.
.			118829	IN	NS	h.root-servers.net.
.			118829	IN	NS	i.root-servers.net.
.			118829	IN	NS	j.root-servers.net.
.			118829	IN	NS	k.root-servers.net.
.			118829	IN	NS	l.root-servers.net.
.			118829	IN	NS	m.root-servers.net.

;; Query time: 10 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: Wed Jul 11 10:19:50 UTC 2018
;; MSG SIZE  rcvd: 239

4.4. Dig succint

Pour obtenir une réponse courte.

dig google.com +nocomments +noquestion +noauthority +noadditional +nostats

ou encore,

dig +short

4.5. Dig AAAA

Une résolution de nom en IPv6.

dig AAAA www.google.com

; <<>> DiG 9.8.3-P1 <<>> @2001:4860:4860::8888 AAAA www.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43838
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
www.google.com.		299	IN	AAAA	2a00:1450:4013:c00::63

;; Query time: 40 msec
;; SERVER: 2001:4860:4860::8888#53(2001:4860:4860::8888)
;; WHEN: Sun Oct 19 21:51:21 2014
;; MSG SIZE  rcvd: 60

4.6. Dig sur les enregistrements MX

Quels sont les serveurs de courrier électronique gmail.com ?

dig gmail.com  MX +noall +answer
; <<>> DiG 9.8.3-P1 <<>> gmail.com MX +noall +answer
;; global options: +cmd
gmail.com.		2909	IN	MX	5 gmail-smtp-in.l.google.com.
gmail.com.		2909	IN	MX	10 alt1.gmail-smtp-in.l.google.com.
gmail.com.		2909	IN	MX	20 alt2.gmail-smtp-in.l.google.com.
gmail.com.		2909	IN	MX	30 alt3.gmail-smtp-in.l.google.com.
gmail.com.		2909	IN	MX	40 alt4.gmail-smtp-in.l.google.com.

4.7. Dig NS record

L’enregistrement NS permet de connaître le nom du ou des serveurs qui ont autorité sur la zone.

dig goffinet.org NS +noall +answer
; <<>> DiG 9.8.3-P1 <<>> goffinet.org NS +noall +answer
;; global options: +cmd
goffinet.org.		7200	IN	NS	ns4.zoneedit.com.
goffinet.org.		7200	IN	NS	ns19.zoneedit.com.

4.8. Dig reverse lookup

Quel est le nom reverse correspondant à l’adresse IP ?

dig -x 72.163.4.161
; <<>> DiG 9.8.3-P1 <<>> -x 72.163.4.161
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63459
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;161.4.163.72.in-addr.arpa.	IN	PTR
;; ANSWER SECTION:
161.4.163.72.in-addr.arpa. 300	IN	PTR	www1.cisco.com.
;; Query time: 192 msec
;; SERVER: 10.185.220.95#53(10.185.220.95)
;; WHEN: Wed May 21 15:15:20 2014
;; MSG SIZE  rcvd: 71

4.9. dig trace

On peut constater l’oeuvre de récursivité.

dig +trace www.test.tf
dig +trace www.test.tf
;; Warning: Message parser reports malformed message packet.

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace www.test.tf
;; global options: +cmd
.			162706	IN	NS	b.root-servers.net.
.			162706	IN	NS	h.root-servers.net.
.			162706	IN	NS	k.root-servers.net.
.			162706	IN	NS	e.root-servers.net.
.			162706	IN	NS	g.root-servers.net.
.			162706	IN	NS	l.root-servers.net.
.			162706	IN	NS	d.root-servers.net.
.			162706	IN	NS	j.root-servers.net.
.			162706	IN	NS	c.root-servers.net.
.			162706	IN	NS	m.root-servers.net.
.			162706	IN	NS	a.root-servers.net.
.			162706	IN	NS	i.root-servers.net.
.			162706	IN	NS	f.root-servers.net.
;; Received 512 bytes from 192.168.1.254#53(192.168.1.254) in 3833 ms

tf.			172800	IN	NS	f.ext.nic.fr.
tf.			172800	IN	NS	d.ext.nic.fr.
tf.			172800	IN	NS	g.ext.nic.fr.
tf.			172800	IN	NS	e.ext.nic.fr.
tf.			172800	IN	NS	d.nic.fr.
tf.			86400	IN	DS	63746 8 2 C80A503F9A4594065684E1B4C6CD5C9AAACF855A9F3B4D9B4546970C 6C37C0E0
tf.			86400	IN	DS	40501 8 2 F7619C58A5C6D4C62C74FF3EC3B9DBF575A1B814283CC72FB63EF728 61BC9808
tf.			86400	IN	RRSIG	DS 8 1 86400 20180723170000 20180710160000 41656 . x1fE/1NXa8jghHnNhm6RGsSgaJSK7ithp/8Vg/jI6BMsf6q9e/qM50kn KLivjCSJbtAkQj8wOdSO3d31x5/8BDPN5MEJYOGpm0nvldxmn0nL2NSJ XpFW4NUycalU9YaoSpjy82+M60DHlOzqourgIzi9XIOF6sJJlO8CgSP/ s4g0LfTkyDhfCPY+mtHXoH4RumUEsUf/NOJQBRHSUs7wRh7GY8sVlY1L 83bSQuLLo1epKykTk5diBfIYxQw7sh1Nrn25iwhl4CsnTi5SFpdtprfO DPWSqwxJcgFoSNFpFYewhsRfn5Gzssy/h1MkNjeFWNbMttNW1B8H+ksf RDm7Zg==
;; Received 733 bytes from 202.12.27.33#53(m.root-servers.net) in 4 ms

test.tf.		172800	IN	NS	ns111.ovh.net.
test.tf.		172800	IN	NS	dns111.ovh.net.
9MP99VPRVTPFMLL3E14VCD8HICQVKBGI.tf. 5400 IN NSEC3 1 1 1 819F7223 9NG3PIFH33GIKSQJLHBVBJI8C1DNSV55 NS SOA TXT NAPTR RRSIG DNSKEY NSEC3PARAM
9MP99VPRVTPFMLL3E14VCD8HICQVKBGI.tf. 5400 IN RRSIG NSEC3 8 2 5400 20180824062820 20180625062820 44104 tf. VcTsZ1we8ik+/O2pLFG1SZMtWQiDrBjN2E4Q1qZiTIubr2XE1JjOOiJ5 6ZkCh5sHNPsdZv2+37eqy/N8Q0EWoTuDFjiHej3xnqtTY+zfn1HCPT6a 91wxnLonR0jT50OkZweKR/BxaeytQ/0YBRY9CelGOTIu1q7FmXX62yDB Xv8lGk+niQUSy5cack3A4u5eBQwAvrTayhHmSfxKpjNsNk3uR+tGxvUJ 5iX9rmtZP88+tuIsa3zx/J8VQL1uvMqMgnZ76oaSIQ3WpCmp8aH3/O9z hyqd/DXrz4mMX0kggUTY7UAxaT6HhFvQ5IvgFGM+4KsUfN+6iZJl9qGY tqTujQ==
TOTFPRIDP8Q2KCN36KCPGHG0UT1MK04O.tf. 5400 IN NSEC3 1 1 1 819F7223 TTA55KRRH4N80HHLTGVJVINKPFD6F4NT NS DS RRSIG
TOTFPRIDP8Q2KCN36KCPGHG0UT1MK04O.tf. 5400 IN RRSIG NSEC3 8 2 5400 20180908001004 20180709231004 44104 tf. YXlRBHuiIhJIgctna+O9mBnQUn0fu1A7UkauLt81Hzu8eP37z22jirkE 8skxkHu1hz8N0/6+IxuCQUG20G1hWY7XMBG5RLkrwWsCXAJdC+cTbtNL pkPw7MjUJU9U/j5OLIZnul6PBQNKVsXMxyI/hIqEvFluQ9s3Ag1ROMbn xZUzBocNpEXF+zKjhXQbtR2aN2vzVbf3zwvomsbSjeXe6xC1ECxOwMCy 87V5PRJ2w+JbuCx3NAJsRgO3MB1aUAsqQ3H0V7sBdqzHIKHfWK2CbPQl ZjqIDJWxFdGM6CLoefS/m27Ac3Q4DB7BmZafZXMuvYyKeLih9jStJWLe nTIK5A==
;; Received 835 bytes from 194.0.36.1#53(g.ext.nic.fr) in 5 ms

www.test.tf.		3600	IN	A	176.31.61.170
;; Received 56 bytes from 213.251.188.155#53(dns111.ovh.net) in 8 ms

4.10. Transfert de zone AXFR

Opération de transfert de zone.

Ne réaliser l’opération que sur des ressources autorisées !

Première étape : identifier le serveur qui héberge la zone.

# dig zonetransfer.me

; <<>> DiG 9.9.5-9+deb8u4-Debian <<>> zonetransfer.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39317
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zonetransfer.me.        IN    A

;; ANSWER SECTION:
zonetransfer.me.    7200    IN    A    217.147.180.162

;; AUTHORITY SECTION:
zonetransfer.me.    86398    IN    NS    nsztm1.digi.ninja.
zonetransfer.me.    86398    IN    NS    nsztm2.digi.ninja.

;; Query time: 2923 msec
;; SERVER: 192.168.122.1#53(192.168.122.1)
;; WHEN: Sun Jan 17 17:44:30 CET 2016
;; MSG SIZE  rcvd: 112

Si on tente un transfert auprès de notre résolveur, la demande échoue !

# dig axfr zonetransfer.me

; <<>> DiG 9.9.5-9+deb8u4-Debian <<>> axfr zonetransfer.me
;; global options: +cmd
; Transfer failed.

Il est nécessaire de l’adresser au serveur qui a autorité sur la zone.

# dig axfr zonetransfer.me @nsztm1.digi.ninja

; <<>> DiG 9.9.5-9+deb8u4-Debian <<>> axfr zonetransfer.me @nsztm1.digi.ninja
;; global options: +cmd
zonetransfer.me.    7200    IN    SOA    nsztm1.digi.ninja. robin.digi.ninja. 2014101601 172800 900 1209600 3600
zonetransfer.me.    300    IN    HINFO    "Casio fx-700G" "Windows XP"
zonetransfer.me.    301    IN    TXT    "google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA"
zonetransfer.me.    7200    IN    MX    0 ASPMX.L.GOOGLE.COM.
zonetransfer.me.    7200    IN    MX    10 ALT1.ASPMX.L.GOOGLE.COM.
zonetransfer.me.    7200    IN    MX    10 ALT2.ASPMX.L.GOOGLE.COM.
zonetransfer.me.    7200    IN    MX    20 ASPMX2.GOOGLEMAIL.COM.
zonetransfer.me.    7200    IN    MX    20 ASPMX3.GOOGLEMAIL.COM.
zonetransfer.me.    7200    IN    MX    20 ASPMX4.GOOGLEMAIL.COM.
zonetransfer.me.    7200    IN    MX    20 ASPMX5.GOOGLEMAIL.COM.
zonetransfer.me.    7200    IN    A    217.147.180.162
zonetransfer.me.    7200    IN    NS    nsztm1.digi.ninja.
zonetransfer.me.    7200    IN    NS    nsztm2.digi.ninja.
_sip._tcp.zonetransfer.me. 14000 IN    SRV    0 0 5060 www.zonetransfer.me.
164.180.147.217.IN-ADDR.ARPA.zonetransfer.me. 7200 IN PTR www.zonetransfer.me.
asfdbauthdns.zonetransfer.me. 7900 IN    AFSDB    1 asfdbbox.zonetransfer.me.
asfdbbox.zonetransfer.me. 7200    IN    A    127.0.0.1
asfdbvolume.zonetransfer.me. 7800 IN    AFSDB    1 asfdbbox.zonetransfer.me.
canberra-office.zonetransfer.me. 7200 IN A    202.14.81.230
cmdexec.zonetransfer.me. 300    IN    TXT    "\; ls"
contact.zonetransfer.me. 2592000 IN    TXT    "Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes"
dc-office.zonetransfer.me. 7200    IN    A    143.228.181.132
deadbeef.zonetransfer.me. 7201    IN    AAAA    dead:beaf::
dr.zonetransfer.me.    300    IN    LOC    53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m
DZC.zonetransfer.me.    7200    IN    TXT    "AbCdEfG"
email.zonetransfer.me.    2222    IN    NAPTR    1 1 "P" "E2U+email" "" email.zonetransfer.me.zonetransfer.me.
email.zonetransfer.me.    7200    IN    A    74.125.206.26
Info.zonetransfer.me.    7200    IN    TXT    "ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information."
internal.zonetransfer.me. 300    IN    NS    intns1.zonetransfer.me.
internal.zonetransfer.me. 300    IN    NS    intns2.zonetransfer.me.
intns1.zonetransfer.me.    300    IN    A    167.88.42.94
intns2.zonetransfer.me.    300    IN    A    167.88.42.94
office.zonetransfer.me.    7200    IN    A    4.23.39.254
ipv6actnow.org.zonetransfer.me.    7200 IN    AAAA    2001:67c:2e8:11::c100:1332
owa.zonetransfer.me.    7200    IN    A    207.46.197.32
robinwood.zonetransfer.me. 302    IN    TXT    "Robin Wood"
rp.zonetransfer.me.    321    IN    RP    robin.zonetransfer.me. robinwood.zonetransfer.me.
sip.zonetransfer.me.    3333    IN    NAPTR    2 3 "P" "E2U+sip" "!^.*$!sip:customer-service@zonetransfer.me!" .
sqli.zonetransfer.me.    300    IN    TXT    "' or 1=1 --"
sshock.zonetransfer.me.    7200    IN    TXT    "() { :]}\; echo ShellShocked"
staging.zonetransfer.me. 7200    IN    CNAME    www.sydneyoperahouse.com.
alltcpportsopen.firewall.test.zonetransfer.me. 301 IN A    127.0.0.1
testing.zonetransfer.me. 301    IN    CNAME    www.zonetransfer.me.
vpn.zonetransfer.me.    4000    IN    A    174.36.59.154
www.zonetransfer.me.    7200    IN    A    217.147.180.162
xss.zonetransfer.me.    300    IN    TXT    "'><script>alert('Boo')</script>"
zonetransfer.me.    7200    IN    SOA    nsztm1.digi.ninja. robin.digi.ninja. 2014101601 172800 900 1209600 3600
;; Query time: 94 msec
;; SERVER: 81.4.108.41#53(81.4.108.41)
;; WHEN: Sun Jan 17 17:44:57 CET 2016
;; XFR size: 47 records (messages 1, bytes 1846)

Ou encore via l’API de hackertarget.com : curl http://api.hackertarget.com/zonetransfer/?q=zonetransfer.me

4.11. Dig sur un enregistrement SRV

Un enregistrement SRV est une extension d’un enregistrement mais pour n’importe quel service (autre que SMTP) car il permet notamment de prendre connaissance des services (Annuaire, serveur SIP, …) et des leurs ports disponibles. On interroge une enregistrement SRV avec le nom du service qui respecte une certaine nomenclature comme par exemple _sip._tcp.example.com., _sip._udp.anveo.com. ou encore _sips._tcp.example.com..

On trouvera plus bas quelques exemples.

dig SRV _sip._tcp.example.com.

Sur quel port écoute le service SIP/UDP du domaine anveo.com ?

$ dig @8.8.8.8 SRV  _sip._udp.anveo.com.

; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 SRV _sip._udp.anveo.com.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37038
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_sip._udp.anveo.com.		IN	SRV

;; ANSWER SECTION:
_sip._udp.anveo.com.	3599	IN	SRV	10 100 5010 sip.anveo.com.
_sip._udp.anveo.com.	3599	IN	SRV	20 100 5010 sip.ca.anveo.com.
_sip._udp.anveo.com.	3599	IN	SRV	30 100 5010 sip.de.anveo.com.

;; Query time: 39 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Nov 13 21:43:34 2016
;; MSG SIZE  rcvd: 142

Y a-t-il un serveur SIPS (TCP 5061) sur le domaine cisco.com ?

$ dig @8.8.8.8 SRV _sips._tcp.cisco.com.

; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 SRV _sips._tcp.cisco.com.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51584
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_sips._tcp.cisco.com.		IN	SRV

;; ANSWER SECTION:
_sips._tcp.cisco.com.	3599	IN	SRV	10 10 5061 vcsgw.cisco.com.

;; Query time: 142 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Nov 13 21:48:07 2016
;; MSG SIZE  rcvd: 73

ou encore :

nslookup -q=SRV _sip._tcp.example.com.