Ein HTTP-Proxy kann eine Anfrage an einen DNS-over-HTTPS-Dienst übertragen. Für die JSON-Schnittstelle von Google Public DNS kann eine explizite Abfrage so aussehen:

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

Der Proxy überträgt die HTTPS-Verbindung zu dns.google. Die HTTP-Proxy-Liste ist eine Stelle, um einen Kandidaten für diese öffentliche Abfrage auszuwählen, wo Zugriff über öffentliche Proxys erlaubt ist. Der Resolver von Google beantwortet den Parameter name. Dies ist keine Aufforderung an den Proxy, seinen eigenen DNS-Cache zurückzugeben, und auch keine Änderung der DNS-Konfiguration, die andere Anwendungen verwenden.

Lesen Sie den Status im JSON und die zurückgegebenen Einträge, nicht nur den HTTP-Status. Eine erfolgreich zugestellte HTTP-Antwort kann einen DNS-Fehler beschreiben. Ändern Sie type auf den benötigten Eintrag, etwa AAAA oder MX; eine A-Abfrage ist keine vollständige Bestandsaufnahme aller Eintragstypen.

Das JSON-Format dieses Endpunkts ist eine dokumentierte Google-API. Standard-DoH-Clients im Wire-Format verwenden stattdessen DNS-Nachrichten und application/dns-message. Ein gewöhnlicher nslookup-Aufruf erhält nicht allein deshalb eine der beiden HTTP-Schnittstellen, weil HTTPS_PROXY gesetzt ist.

Ähnliche Artikel