Glossaire

Qu'est-ce qu'un proxy SOCKS5 ?

Un proxy SOCKS5 est un serveur proxy qui utilise le protocole SOCKS5 pour transférer du trafic TCP et UDP arbitraire entre un client et une destination, sans analyser ni modifier la charge utile de la couche applicative.

Comprenez en quoi SOCKS5 diffère des proxies HTTP, pourquoi il prend en charge n'importe quel protocole TCP/UDP (pas seulement HTTP), et quand les scrapers, les clients de jeux et les utilisateurs de torrents préfèrent SOCKS5.

Expliqué

SOCKS5 est un protocole proxy de couche transport défini dans la RFC 1928. Contrairement à un proxy HTTP, qui comprend et analyse les requêtes et réponses HTTP, un proxy SOCKS5 opère à un niveau inférieur : il transfère des paquets TCP ou UDP bruts entre vous et la destination sans inspecter ni modifier la charge utile. Cela signifie qu'un proxy SOCKS5 peut transporter n'importe quel protocole fonctionnant sur TCP ou UDP, pas seulement le trafic web.

SOCKS5 est la version moderne du protocole proxy SOCKS, ajoutant la prise en charge d'IPv6, du transfert UDP et des méthodes d'authentification (sans authentification, nom d'utilisateur/mot de passe, GSS-API). La plupart des fournisseurs de proxies résidentiels et ISP exposent leurs points de terminaison via HTTP et SOCKS5 afin que les clients puissent choisir le protocole adapté à leur infrastructure.

Pour le scraping web via HTTPS, un proxy HTTP CONNECT et un proxy SOCKS5 se comportent de manière presque identique — les deux finissent par tunneliser du trafic TCP chiffré. Les différences deviennent significatives lorsque votre client utilise des protocoles non HTTP (FTP, SMTP, IRC, BitTorrent, jeux) ou lorsque vous avez spécifiquement besoin de la prise en charge UDP.

Comment ça fonctionne

Lorsque votre client se connecte à un proxy SOCKS5, il envoie une petite négociation spécifiant la méthode d'authentification, puis une commande CONNECT avec l'hôte et le port de destination. Le proxy ouvre une connexion TCP vers cette destination et se contente ensuite de relayer les octets entre le client et la destination. Il n'y a pas de couche HTTP — le proxy ne lit pas l'URL, les en-têtes ni le corps de la réponse.

Cette transparence au niveau de la couche transport explique pourquoi SOCKS5 fonctionne avec n'importe quel protocole basé sur TCP. La prise en charge UDP utilise un flux UDP ASSOCIATE séparé où le client envoie des datagrammes UDP au proxy et le proxy les transfère vers la cible. L'authentification, si elle est utilisée, se produit une seule fois lors de la négociation initiale et s'applique à toute la session.

Types

SOCKS5 authentifié (nom d'utilisateur/mot de passe)

SOCKS5 avec authentification par identifiants, le mode standard pour les services proxy payants. Le nom d'utilisateur encode souvent le ciblage géographique et les paramètres de session (par exemple `USER-country-us-session-12345`).

SOCKS5 non authentifié

SOCKS5 sans authentification, généralement utilisé pour les proxies internes auto-hébergés sur des réseaux privés où le contrôle d'accès par IP est suffisant.

SOCKS5 avec TLS / SOCKS5 tunnelisé via TLS

SOCKS5 encapsulé dans TLS, utilisé dans les services de type VPN axés sur la confidentialité pour chiffrer le canal de contrôle SOCKS5 lui-même. Moins courant dans les services proxy commerciaux car le SOCKS5 résidentiel est déjà utilisé via TLS de bout en bout pour les cibles HTTPS.

Cas d'utilisation courants

Web scraping dans les clients qui préfèrent SOCKS à HTTP CONNECT
Protocoles non-HTTP (FTP, SMTP, IRC, IMAP)
Clients BitTorrent et P2P
Clients de jeux et de voix (où la prise en charge UDP est importante)
Navigateurs sans interface graphique et outils d'automatisation compatibles SOCKS5
Routage au niveau réseau lorsque le client ne parle pas HTTP
FAQ

Questions fréquentes Questions FAQ

Questions fréquentes sur socks5 proxy.

Un proxy HTTP comprend HTTP et opère au niveau de la couche applicative ; un proxy SOCKS5 opère au niveau de la couche transport et transfère du TCP/UDP brut sans analyser la charge utile. Pour le scraping HTTPS, la différence est surtout cosmétique (les deux tunnelisent des octets chiffrés), mais SOCKS5 l'emporte lorsque vous devez proxifier des protocoles non-HTTP.