Un proxy HTTP peut acheminer une requête vers un service DNS-over-HTTPS. Pour l'interface JSON de Google Public DNS, une requête explicite peut être :

curl --fail --proxy http://proxy.example.net:8080 --noproxy "" \
  --get --data-urlencode "name=example.net" \
  --data-urlencode "type=A" \
  https://dns.google/resolve

Le proxy achemine la connexion HTTPS vers dns.google. La liste de proxys HTTP est un endroit où choisir un candidat pour cette requête publique, lorsque l'accès via des proxys publics est autorisé. Le résolveur de Google répond au paramètre name. Il ne s'agit pas d'une demande au proxy de renvoyer son propre cache DNS, ni d'une modification de la configuration DNS utilisée par d'autres applications.

Lisez le Status du JSON et les enregistrements renvoyés, pas seulement le statut HTTP. Une réponse HTTP correctement livrée peut décrire un échec DNS. Changez type pour l'enregistrement voulu, par exemple AAAA ou MX ; une requête A n'est pas un inventaire complet de tous les types d'enregistrement.

Le format JSON de ce point de terminaison est une API Google documentée. Les clients DoH standard au format fil utilisent plutôt des messages DNS et application/dns-message. Un appel nslookup ordinaire n'obtient aucune des deux interfaces HTTP simplement parce que HTTPS_PROXY est défini.

Articles similaires