O Tor envia o nome de domínio ou IP do site para os relés?
772
Quando um cliente Tor deseja se conectar a um site, digamos: google.com, ele resolve seu IP primeiro e depois envia o IP pelos relés? ou passa o nome de domínio que é resolvido pelo último nó de saída?
Isso depende do cliente. O Tor tem a capacidade de resolver nomes remotamente e seu nó Tor local sempre usará a resolução baseada em Tor se for solicitado a se conectar a um nome de domínio, mas tudo depende dos aplicativos clientes que realmente fornecem o nome e não fazem sua própria resolução de nome localmente.
Por exemplo, o Firefox (um cliente SOCKS) tem uma opção chamada "Proxy DNS ao usar SOCKS v5" - isso permite a resolução remota de nomes (baseada em Tor) desde que o SOCKS versão 5 seja selecionado.
Enquanto isso, o protocolo SOCKS v4 mais antigo não tem esse recurso; ele suporta apenas o envio do endereço IP. (No entanto, isso é adicionado pela versão 4a. Se você vir programas especificamente oferecendo SOCKS v4a, isso geralmente significa que eles enviam o nome do host.)
Como outro exemplo, curltem uma seleção entre os tipos de proxy "socks4" (envia o endereço IP), "socks4a" (envia o nome do host), "socks5" (envia o endereço IP) e "socks5h" (envia o nome do host).
Quando o modo de proxy HTTP é usado, geralmente o nome de host completo é enviado. Se você estiver usando um tradutor de HTTP para SOCKS, como Polipo ou Privoxy (que eu me lembro de ter sido usado com o Tor em algum momento do século passado), isso dependerá das habilidades do tradutor, além das do cliente.
Isso depende do cliente. O Tor tem a capacidade de resolver nomes remotamente e seu nó Tor local sempre usará a resolução baseada em Tor se for solicitado a se conectar a um nome de domínio, mas tudo depende dos aplicativos clientes que realmente fornecem o nome e não fazem sua própria resolução de nome localmente.
Por exemplo, o Firefox (um cliente SOCKS) tem uma opção chamada "Proxy DNS ao usar SOCKS v5" - isso permite a resolução remota de nomes (baseada em Tor) desde que o SOCKS versão 5 seja selecionado.
Enquanto isso, o protocolo SOCKS v4 mais antigo não tem esse recurso; ele suporta apenas o envio do endereço IP. (No entanto, isso é adicionado pela versão 4a. Se você vir programas especificamente oferecendo SOCKS v4a, isso geralmente significa que eles enviam o nome do host.)
Como outro exemplo,
curl
tem uma seleção entre os tipos de proxy "socks4" (envia o endereço IP), "socks4a" (envia o nome do host), "socks5" (envia o endereço IP) e "socks5h" (envia o nome do host).Quando o modo de proxy HTTP é usado, geralmente o nome de host completo é enviado. Se você estiver usando um tradutor de HTTP para SOCKS, como Polipo ou Privoxy (que eu me lembro de ter sido usado com o Tor em algum momento do século passado), isso dependerá das habilidades do tradutor, além das do cliente.