human
Tor ne peut gérer que les connexions TCP, mais DNS est un protocole UDP. Comment Tor route-t-il les requêtes DNS sur son réseau basé sur TCP ? Pourquoi la même approche ne peut-elle pas être utilisée pour router tout le trafic UDP sur Tor
gpt
En général, les clients Tor ne font pas directement de requêtes DNS. Lorsque vous ouvrez une connexion via le réseau Tor, vous demandez généralement à votre client (sur ses ports SOCKS) de vous connecter à un nom d'hôte et à un port, par exemple www.example.com:80.
Votre client Tor, une fois qu'il a créé un circuit, enverra ce nom d'hôte et ce port au nœud de sortie dans sa cellule RELAY_BEGIN.
Le nœud de sortie effectuera ensuite une résolution DNS et ouvrira une connexion TCP vers la cible. Une fois que cela est établi, il informera votre client que la connexion est ouverte, et à des fins d'information, il indiquera également à votre client quelle adresse ce nom d'hôte a résolu.
En plus de cela, Tor dispose d'un protocole de "résolution DNS à distance" intégré. Cette fonctionnalité permet aux clients de rechercher certains types de ressources, comme les adresses IPv4 ou IPv6. Ici aussi, le nœud de sortie effectue l'envoi et la réception réels des paquets DNS et transmet simplement la réponse au client.
Aucun paquet UDP n'est réellement routé depuis le client.
Il existe également une proposition visant à ajouter une prise en charge DNS plus complète à Tor. Jusqu'à présent, cela n'a pas été mis en œuvre.

Références de spécification du protocole Tor

* 6.2. Ouverture de flux et transfert de données
* 6.4. Recherche de nom d'hôte à distance
* Proposition 219 - Prise en charge de la résolution DNS complète et de DNSSEC dans Tor