J'ai vu quelle est la représentation textuelle d'une requête HTTP, mais à quoi ressemble une requête DNS? Où dans les données se trouve l'emplacement de l'URL que vous essayez de localiser? Aussi, comment la réponse est-elle formatée?
32
Réponses:
Ceci est une copie brute de Wireshark d'une requête DNS.
La partie DNS commence par 24 1a:
Et voici la ventilation:
Et la réponse, toujours à partir de 24 heures 1a:
Panne:
Modifier:
Notez que si votre vraie question est "comment puis-je écrire un serveur DNS?", Il existe alors deux réponses appropriées:
Modifier (2):
La demande a été envoyée en utilisant
host
une boîte Linux:Si vous êtes sous Windows, vous pouvez utiliser
nslookup
la source
/questions/173187/what-does-a-dns-request-look-like
inclus dans la demande?La structure des données de requête DNS est décrite dans la RFC 1035 . Je pense qu'il est un peu inutile de copier le texte ici ...
la source
Les analyseurs de protocole permettent mieux d'analyser les requêtes et les réponses DNS. Wireshark est un bon outil multiplateforme qui permet de capturer et de déconstruire les demandes et les réponses dans leurs différentes parties. Il y a une belle introduction à la structure des requêtes et réponses DNS sur Firewall.cx ici .
Les demandes DNS contiennent des questions qui spécifient un nom (ou peut-être un champ de texte quelque peu arbitraire) et un type d'enregistrement. Le contenu de la réponse variera en fonction du type. La plupart des demandes sont de simples recherches directes d’un nom de serveur à la recherche d’une adresse IP en réponse (type A), mais certaines rechercheront davantage d’informations sur les serveurs de noms eux-mêmes (type NS), les enregistrements de courrier (type MX) et d’autres services (type). SRV qui renverra les noms, les ports, les poids et les priorités). Les réponses DNS contiennent des réponses à ces questions, éventuellement plusieurs si la requête l'exige et ne sont pas toujours des adresses IP.
Une autre clarification - le DNS ne résout pas les URL - dans la plupart des scénarios impliquant des URL, le DNS est uniquement utilisé pour permettre au système côté client de trouver l'adresse IP de la partie serveur de l'URL. Tout le reste est géré par d'autres protocoles.
la source
Si vous pouvez accéder à une machine Linux, vous pouvez exécuter la commande dig pour effectuer une recherche DNS. Cet utilitaire effectue une recherche et renvoie exactement ce que le serveur de noms répond. Par exemple:
Tout ce qui commence par la section "HEADER" correspond à ce qui est renvoyé par le serveur de noms. Je suppose que c'est ce que vous appelez le format de texte, car ce n'est pas le format du paquet mais le texte qui est renvoyé.
la source