Pular para o conteúdo
Proxy Types 4 min de leitura 929 visualizações

Proxy SOCKS4a

SOCKS4a é uma extensão do SOCKS4 com suporte a resolução DNS do lado do proxy. Diferenças em relação a SOCKS4 e SOCKS5, uso e configuração.

Proxy SOCKS4a

Proxy SOCKS4a

O que é SOCKS4a

SOCKS4a é uma extensão do protocolo SOCKS4, proposta por Ying-Da Lee. A diferença principal em relação ao SOCKS4 original é que o cliente pode enviar um nome de domínio em vez de um endereço IP, e a resolução DNS acontece no lado do servidor proxy.

No SOCKS4 padrão, o cliente precisa resolver o nome de domínio para um endereço IP por conta própria antes de enviar a requisição. Isso cria um problema: a consulta DNS sai diretamente do cliente, revelando informações sobre os sites visitados. O SOCKS4a resolve essa questão.

O problema de DNS do SOCKS4

Como o SOCKS4 funciona

  1. O cliente quer se conectar a example.com
  2. O cliente faz uma consulta DNS diretamente (não pelo proxy)
  3. Ele recebe o IP 93.184.216.34
  4. Ele envia um comando ao proxy: "conecte-se a 93.184.216.34:80"
  5. O proxy estabelece uma conexão TCP

Problema: a consulta DNS do passo 2 é visível para o ISP, para o servidor DNS e para qualquer um que monitore o tráfego. Isso é um vazamento de DNS.

Como o SOCKS4a funciona

  1. O cliente quer se conectar a example.com
  2. O cliente envia um comando ao proxy: "conecte-se a example.com:80"
  3. O próprio proxy resolve example.com para um IP
  4. O proxy estabelece uma conexão TCP

A consulta DNS fica completamente escondida atrás do proxy.

Implementação técnica

Formato da requisição SOCKS4

Campo Tamanho Descrição
VER 1 byte Versão (0x04)
CMD 1 byte Comando (0x01 = CONNECT)
DSTPORT 2 bytes Porta de destino
DSTIP 4 bytes IP de destino
USERID variável String identificadora
NULL 1 byte 0x00 (terminador)

Formato da requisição SOCKS4a

O formato é o mesmo, mas com um truque: o campo DSTIP contém um IP inválido no formato 0.0.0.x (onde x > 0). Após o terminador NULL do USERID, o nome de domínio é acrescentado:

Campo Tamanho Descrição
VER 1 byte 0x04
CMD 1 byte 0x01
DSTPORT 2 bytes Porta de destino
DSTIP 4 bytes 0.0.0.1 (marcador SOCKS4a)
USERID variável String identificadora
NULL 1 byte 0x00
DOMAIN variável Nome de domínio (example.com)
NULL 1 byte 0x00

O proxy vê um IP no formato 0.0.0.x e entende que, depois do USERID, vem um nome de domínio para resolução.

SOCKS4 vs SOCKS4a vs SOCKS5

Parâmetro SOCKS4 SOCKS4a SOCKS5
DNS do lado do proxy Não Sim Sim
Autenticação Não Não Sim
UDP Não Não Sim
IPv6 Não Não Sim
Comando BIND Sim Sim Sim
Comando ASSOCIATE Não Não Sim

Vantagens do SOCKS4a

1. Elimina o vazamento de DNS

A principal vantagem é que o cliente não faz consultas DNS diretamente. Toda a atividade de DNS fica escondida atrás do proxy.

2. Simplicidade do protocolo

O SOCKS4a é mais simples de implementar do que o SOCKS5. Não há fase de autenticação nem suporte a UDP — apenas TCP CONNECT.

3. Compatibilidade retroativa

Um cliente SOCKS4a consegue trabalhar com um proxy SOCKS4a, e o formato da requisição é retrocompatível com o SOCKS4.

4. Acesso a domínios .onion e internos

Como o DNS é resolvido do lado do proxy, o SOCKS4a pode ser usado para acessar domínios que não são resolvidos pelo DNS público (por exemplo, .onion via Tor).

Limitações

1. Sem autenticação

O SOCKS4a não suporta autenticação. Qualquer pessoa que saiba o endereço do proxy pode usá-lo.

2. Sem UDP

Só há suporte a conexões TCP. Consultas DNS, VoIP e tráfego de jogos via UDP não são suportados.

3. Sem IPv6

O campo DSTIP tem 4 bytes, apenas para IPv4.

4. Protocolo obsoleto

O SOCKS5 substituiu o SOCKS4a, oferecendo todos os seus recursos mais autenticação, UDP e IPv6.

Quando usar SOCKS4a

  • Sistemas legados — softwares antigos que não suportam SOCKS5
  • Cenários simples — quando autenticação e UDP não são necessários
  • Conexões Tor — o Tor suporta SOCKS4a para resolução de .onion
  • Overhead mínimo — quando a latência mínima do protocolo é importante

Suporte em softwares

Programa SOCKS4a
curl Sim (--socks4a)
Tor Sim (protocolo principal)
ProxyChains Sim
Firefox Via network.proxy.socks_remote_dns
PuTTY Sim

Conclusão

O SOCKS4a foi um passo evolutivo importante em relação ao SOCKS4, resolvendo o problema dos vazamentos de DNS. Embora o SOCKS5 seja o padrão hoje, entender o SOCKS4a é útil para trabalhar com sistemas legados e para compreender a evolução dos protocolos de proxy.

Atualizado: 06.03.2026
Voltar à categoria

Experimente nossos proxies

20,000+ proxies em 100+ países do mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.