Le protocole DNS
Les trame DNS (Domain Name System) peuvent être contenu dans une trame UDP ou TCP tout deux sur le port 53,
ce protocole est composé d'une requête de message et de RR's (Ressource Record) dont voici les en-tête ci dessous.
Trame DNS:
------------------------------------------------------------------------------- ID | Flags ------------------------------------------------------------------------------- Nombre de questions | Nombre de réponses RR ------------------------------------------------------------------------------ Nombre authority RR | Nombre additionnal RR ------------------------------------------------------------------------------- Question Section ------------------------------------------------------------------------------- Answer Section ------------------------------------------------------------------------------- Authority Section ------------------------------------------------------------------------------- Additionnal Section -------------------------------------------------------------------------------
ID:
Entier permettant d'identifier le datagramme de retour
Flags
Désignation | Rôle |
Qr | Indique s'il s'agit qu'une requête (0) ou d'une réponse (1) |
Opcode | Indique le type de requête |
Tc | Indique que le message est tronqué |
Rd | Permet de demander la récursivité |
Ra | Indique que la récursivité est autorisé |
Rcode | Indique le type de réponse |
Z | Pur utilisation futur |
Nombre de questions:
Nombre d'entrées dans la section "Question"
Nombre de réponses RR:
Nombre d'entrée dans la section "Answer"
Nombre authority RR:
Nombre d'entrées dans la sections "Authority"
Nombre additionnal RR:
Nombre d'entrées dans la section "Additionnal"
Question Section:
Permet d'indiquer le type, la classe et le domaine sur lequel la requête est ciblée
Answer Section:
Permet d'indiquer les RR's correspondant à la réponse de la requête
Authority Section:
Permet d'indiquer les RR's correspondant aux serveurs d'autorisation (on parle de Serveurs Authoriative)
Additionnal Section:
Permet d'indiquer les RR's aux informations additionnel qui peuvent être envoyée
Trame RR:
Nom | Type | Class | TTL | Longueur | Données
Nom:
Nom correspondant au domaine
Type:
Type de donnée utilisé dans le RR
Classe:
Permet d'indiquer une famille de protocoles
TTL:
Durée de vie du RR en seconde
Longueur:
Indique la longueur des données suivantes
Données
Permet d'identifier la ressource
Pour plus de détails vous pouvez consulter la RFC1035