Tous les emplacements actifs · 99.99% uptime
SOCKS5

Comment fonctionne un proxy SOCKS5 ?

Qu'est-ce qu'un proxy SOCKS5 : nous y présentions le concept. Ici, nous regardons à l'intérieur du protocole : quels octets circulent entre le client et le serveur, comment l'adresse est indiquée et pourquoi cette conception produit un outil plus polyvalent qu'un proxy HTTP ?

SOCKS5 est un protocole assez simple, défini dans la RFC 1928. Sa simplicité fait sa force : il n'interprète jamais les données de la couche applicative, il se contente de transporter le trafic TCP (et, en option, UDP).

Un handshake en trois phases

FIGURELes phases d'une connexion SOCKS5
HANDSHAKE01Salutation(greeting)1 aller-retourLe client annonce lesméthodes d'authentificationqu'il prend en charge02Méthodeappropriémême aller-retourLe serveur ensélectionne une ourefuse03Authentification1 aller-retourLa méthode sélectionnéeest appliquée (si nécessaire)04Requête CONNECT1 aller-retourL'adresse et le port ciblessont annoncés05Transfert de donnéesillimitéLe protocole n'est plus qu'un tuyau transparentdurée de vie de la connexion →

Si aucune authentification n'est requise, les trois allers-retours se réduisent à deux. Cela demande un peu plus d'allers-retours que la méthode CONNECT d'un proxy HTTP, mais les octets échangés sont bien plus petits.

Phase 1 — La salutation

Dans son premier paquet, le client annonce la version du protocole et les méthodes d'authentification qu'il prend en charge :

FIGUREPaquet de salutation du client
LA REQUÊTEVER0x05Version SOCKS : 5NMETHODS0x02Nombre de méthodes proposéesMETHODS[0]0x00Aucune authentification requiseMETHODS[1]0x02Nom d'utilisateur / mot de passe

Le serveur annonce son choix par une réponse d'un seul octet : 0x00 (aucune authentification requise), 0x02 (utilisateur/mot de passe) ou 0xFF (aucune méthode acceptable).

Astuce de débogage

Le serveur 0xFF S'il renvoie et ferme la connexion, cela signifie que votre client ne propose pas la méthode d'authentification attendue par le serveur. C'est la cause la plus fréquente de la plainte « la connexion s'est fermée silencieusement ».

Phase 2 — L'authentification

Si la méthode 0x02 est sélectionnée, la sous-négociation définie dans la RFC 1929 est effectuée : octet de version, longueur du nom d'utilisateur et nom d'utilisateur, longueur du mot de passe et mot de passe. Le serveur renvoie un octet unique de succès ou d'échec.

Pour une comparaison détaillée et une configuration pratique notre article sur l'authentification SOCKS5 vous pouvez le consulter.

Phase 3 — La requête CONNECT

Une fois l'authentification passée, le client annonce la cible. C'est ici qu'intervient la décision de conception la plus importante de SOCKS5 : l'adresse peut être fournie sous trois formes différentes.

FIGUREStructure d'une requête CONNECT
LA REQUÊTEVER0x05VersionCMD0x0101=CONNECT, 02=BIND,03=UDPRSV0x00RéservéATYP0x0301=IPv4, 03=nom de domaine,04=IPv6ADDRornek.comAdresse ciblePORT0x01BB443

ATYP=0x03 signifie nom de domaine ; dans ce cas, la résolution DNS est effectuée par le proxy. Cet octet unique est la clé pour éviter les fuites DNS.

Pourquoi plus polyvalent qu'un proxy HTTP ?

FIGURELes couches sur lesquelles opèrent les deux protocoles
COUCHE7ApplicationHTTP / HTTPS / SMTP / FTPUn proxy HTTP ne comprend que HTTP5SessionSOCKS5Ne regarde pas le contenu, transporte tout4TransportTCP / UDPSOCKS5 prend en charge les deux3RéseauIPv4 / IPv6Adressage

Un proxy HTTP lit et interprète la requête ; SOCKS5 se contente de la transporter. C'est pourquoi e-mail, jeu, transfert de fichiers et trafic de navigateur peuvent passer simultanément par SOCKS5.

FonctionParamètreSOCKS5
Couche de fonctionnementApplication (7)Session (5)
Prise en charge des protocolesHTTP(S) uniquementN'importe quel TCP, UDP en option
Interprétation du contenuOuiNon
Ajout d'en-têtesPossibleImpossible
Mise en cachePossibleImpossible
Résolution DNSCôté proxySélectionnable (ATYP)
Allers-retours du handshake1 (CONNECT)2–3

Pour une comparaison détaillée la différence entre proxy HTTP et SOCKS5 .

SOCKS5 assure-t-il un chiffrement ?

Non. C'est le malentendu le plus répandu. SOCKS5 est un protocole de transport ; il n'offre aucun chiffrement. La sécurité de votre trafic dépend du chiffrement propre au contenu transporté :

  • Si cela passe par HTTPS : TLS protège de bout en bout ; le proxy ne peut pas voir le contenu.
  • S'il s'agit de HTTP en clair : L'opérateur du proxy peut lire le contenu.
  • Identifiants : Le nom d'utilisateur et le mot de passe SOCKS5 sont envoyés en clair.
Note de sécurité

Les identifiants SOCKS5 sont transmis sans chiffrement. Si vous utilisez un proxy SOCKS5 sur un réseau non fiable, vos identifiants peuvent être lus par un observateur intermédiaire. Dans ce scénario, utiliser SOCKS5 via un tunnel SSH est plus sûr — la méthode un article distinct .

Utilisation pratique

FIGUREOpérations de base avec SOCKS5
Terminal01# Résoudre le DNS côté proxy (recommandé)02curl --socks5-hostname kullanici:sifre@proxy.example.com:1080 https://example.com0304# Résoudre le DNS localement (risque de fuite)05curl --socks5 proxy.example.com:1080 https://example.com0607# Via une variable d'environnement (de nombreux outils la lisent)08export ALL_PROXY="socks5h://kullanici:sifre@proxy.example.com:1080"0910# Python requests (pour la prise en charge socks : pip install requests[socks])11proxies = {"http": "socks5h://kullanici:sifre@proxy.example.com:1080",12 "https": "socks5h://kullanici:sifre@proxy.example.com:1080"}1314# Test : IP de sortie15curl --socks5-hostname proxy.example.com:1080 -s https://ornek-ip.example/text

socks5h Dans le schéma h , il signifie « hostname » et fait effectuer la résolution DNS côté proxy. Préférez-le toujours afin d'éviter les fuites.

Quand choisir SOCKS5 ?

Préférez SOCKS5

  • Si vous devez transporter des protocoles autres que HTTP (e-mail, FTP, jeu).
  • Si vous souhaitez que la résolution DNS soit effectuée côté proxy.
  • Si vous avez besoin de trafic UDP.
  • Si vous ne voulez pas que le proxy touche à vos en-têtes.
  • Si l'application ne prend en charge que SOCKS.

Un proxy HTTP suffit

  • Si vous ne transportez que du trafic web.
  • Si vous souhaitez de la mise en cache.
  • Si votre outil ne prend en charge que le proxy HTTP.
  • Si le nombre minimal d'allers-retours du handshake est déterminant.
  • Si vous avez besoin de règles de filtrage d'entreprise.

Résumé

SOCKS5 est un protocole de couche session simple, qui transporte le trafic TCP et UDP sans jamais regarder les données applicatives. Grâce à son handshake en trois phases, à la prise en charge de trois types d'adresses et à l'option du nom de domaine, il permet d'éviter les fuites DNS. Il n'assure aucun chiffrement ; la sécurité dépend du chiffrement propre au contenu transporté. Si vous devez transporter du trafic non web, c'est le bon outil. Pour le détail des produits rendez-vous sur notre page proxy SOCKS5, et pour tester notre outil de vérification de proxy vous pouvez le consulter.

Questions fréquentes

01SOCKS5 chiffre-t-il mon trafic ?

Non. SOCKS5 est un protocole de transport et n'offre aucun chiffrement. La sécurité vient du chiffrement propre au contenu transporté ; si vous utilisez HTTPS, le contenu est protégé de bout en bout.

02Quelle est la différence entre socks5 et socks5h ?

socks5h demande que la résolution DNS soit effectuée côté proxy, tandis que socks5 résout localement. Pour éviter les fuites, préférez toujours socks5h.

03Ma connexion SOCKS5 se ferme silencieusement, pourquoi ?

Très probablement, votre client ne propose pas la méthode d'authentification attendue par le serveur. Le serveur renvoie 0xFF et ferme la connexion. Assurez-vous que le client prend en charge la méthode utilisateur/mot de passe.

04SOCKS5 est-il plus lent qu'un proxy HTTP ?

Le handshake demande un aller-retour de plus, mais les octets transportés sont minimes. En pratique, l'écart se compte en quelques millisecondes et, une fois le transfert de données commencé, il n'y a aucune différence de vitesse entre les deux protocoles.

05Toutes les applications prennent-elles en charge SOCKS5 ?

Non. Les navigateurs, curl et la plupart des bibliothèques modernes le prennent en charge, mais certaines applications ne connaissent que le proxy HTTP. Dans ce cas, il faut intercaler un convertisseur de protocole.

Articles et pages associés

ÉTAPE SUIVANTE

Renforcez votre infrastructure proxy dès aujourd'hui.

Démarrez en quelques minutes avec un forfait payant, ou essayez d'abord notre liste de proxys gratuits.

FREEPROXY.TR

Vous cherchez un proxy gratuit ? Vous êtes au bon endroit

Une plateforme proxy complète pour consulter des adresses de proxy gratuits à jour, comparer les types HTTP et SOCKS et vérifier vos connexions proxy avec des outils gratuits.