SOCKS5 ou SOCKS5h: onde se resolve o DNS
Compara a resolución DNS local e no proxy con curl, diagnostica fallos de resolución de nomes e entende os límites da protección de socks5h.
En curl, escolle socks5h:// cando o proxy deba resolver o nome de destino. Escolle socks5:// cando curl deba resolvelo localmente e enviar un enderezo ao proxy. Ambos usan SOCKS5; o h final é unha convención do URL do cliente.
Compara os modos substituíndo o punto de escoita local polo teu punto de conexión SOCKS5:
curl --noproxy '' --proxy socks5://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
curl --noproxy '' --proxy socks5h://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Só cambia o modo de resolución. --noproxy '' elimina as regras de exclusión do proxy para estas chamadas, e os límites de tempo acoutan a comparación. As opcións específicas equivalentes son --socks5 e --socks5-hostname. Usa un nome de servidor como destino: un enderezo IP literal non require resolver o nome do destino e non pode demostrar esta diferenza.
Un nome pode existir só nun lado
Supoñamos que o proxy se executa nunha rede de desenvolvemento cuxo DNS coñece o nome dun servizo interno. O portátil pode non resolver ese nome en modo socks5, mentres que socks5h deixa que o resolva o proxy. Inverte a situación, cun nome definido só no ficheiro hosts do portátil, e pode ser a resolución remota a que falle.
O DNS público tamén pode devolver enderezos distintos desde redes distintas. Uns resultados diferentes son motivo para comparar os enderezos escollidos e a súa accesibilidade, en vez de substituír o proxy inmediatamente.
- Non se pode resolver o nome do servidor proxy: ningún dos modos pode comezar. O cliente segue resolvendo
proxy.exampleensocks5h://proxy.example:1080. - Falla a resolución local do destino: revisa o resolvedor do cliente ou compara co modo que envía o nome do servidor ao proxy.
- O servidor SOCKS rexeita o destino: revisa a súa resposta e política. Unha resolución local correcta non demostra a accesibilidade desde o lado remoto.
- O túnel funciona, pero falla a verificación do certificado: investiga o TLS do destino; escoller outro modo DNS non é unha solución xeral para os problemas de confianza.
Un nome de proba baixo o teu control e os rexistros do servidor poden confirmar que tipo de enderezo chegou a un proxy que administras. Unha páxina que mostra o IP de saída non pode facelo: informa da conexión de saída, non de onde se resolveu o DNS.
O beneficio de privacidade ten un alcance concreto
A resolución no proxy evita a consulta local do destino para esta petición. Non cifra SOCKS, non demostra que o proxy use DNS cifrado nin encamiña o tráfico doutras aplicacións ou da precarga do navegador. Requests con soporte para SOCKS usa a mesma distinción entre resolución local e no proxy; outros clientes poden ofrecer unha opción en vez da notación URL de curl. Escolle un protocolo compatible coa túa aplicación antes de copiar un punto de conexión da lista de proxys SOCKS5.