Un proxy HTTP puede transportar una solicitud a un servicio DNS-over-HTTPS. Para la interfaz JSON de Google Public DNS, una consulta explícita puede ser:

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

El proxy transporta la conexión HTTPS hasta dns.google. La lista de proxies HTTP es un lugar donde elegir un candidato para esta consulta pública, cuando el acceso mediante proxies públicos está permitido. El resolutor de Google responde al parámetro name. No es una petición para que el proxy devuelva su propia caché DNS, ni un cambio en la configuración DNS que usan otras aplicaciones.

Lee el Status del JSON y los registros devueltos, no solo el estado HTTP. Una respuesta HTTP entregada con éxito puede describir un fallo de DNS. Cambia type al registro necesario, como AAAA o MX; una consulta A no es un inventario completo de todos los tipos de registro.

El formato JSON de este endpoint es una API documentada de Google. Los clientes DoH estándar en formato wire usan en cambio mensajes DNS y application/dns-message. Una llamada normal de nslookup no obtiene ninguna de las dos interfaces HTTP solo porque HTTPS_PROXY esté definido.

Artículos relacionados