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