Ligne de commande · 1 min de lecture

Proxychains : Comment chaîner des proxies SOCKS5

proxychains-ng force tout programme en ligne de commande à passer par un ou plusieurs proxies, même des outils qui n'ont pas d'option proxy propre. Ce guide montre comment l'installer, configurer un proxy SOCKS5, chaîner plusieurs sauts et éviter l'erreur classique de fuite DNS.

Ce que fait proxychains

proxychains-ng (le fork maintenu de proxychains) est un outil qui intercepte les appels réseau d'un programme et les force à passer par un proxy — même les programmes qui n'ont pas de paramètre de proxy. Vous préfixez n'importe quelle commande avec proxychains4 et ses connexions TCP sont routées à travers les proxies dans votre configuration. C'est un incontournable sur Kali et dans les flux de travail de pentesting précisément parce qu'il fonctionne avec des outils qui, autrement, se connecteraient directement.

Il prend en charge les proxies HTTP, SOCKS4 et SOCKS5, et il peut chaîner plusieurs d'entre eux afin que votre trafic passe par plusieurs sauts en séquence. Une limitation importante à connaître dès le départ : proxychains fonctionne en interceptant les appels de bibliothèque, donc il n'affecte que les programmes liés dynamiquement — les binaires liés statiquement et certains outils le contournent. Et il route le TCP, pas le UDP brut ou l'ICMP (donc il ne peut pas proxy un normal ping).

Il est utile de comprendre les trois modes de chaînage, car ils se comportent très différemment en cas d'échec. Dans strict_chain, le trafic doit passer par chaque proxy listé dans l'ordre exact donné, et si l'un d'eux est hors service, la connexion échoue — c'est ce que vous voulez lorsque l'ordre et chaque saut comptent. Dans dynamic_chain, proxychains saute les proxies morts et utilise le reste dans l'ordre, ce qui est plus indulgent pour les listes instables. Dans random_chain, il choisit un sous-ensemble aléatoire pour chaque connexion, utile pour répartir le trafic mais imprévisible. Quel que soit votre choix, rappelez-vous que chaque saut supplémentaire multiplie la latence et ajoute un autre opérateur qui peut voir vos métadonnées de connexion, donc chaînez délibérément plutôt que d'accumuler des proxies pour un vague sentiment de sécurité supplémentaire.

Installez et configurez-le

Sur Debian/Ubuntu/Kali ; la configuration se trouve à /etc/proxychains4.conf ou ~/.proxychains/proxychains.conf.

Installer proxychains-ng

Installez le paquet (apt install proxychains4 sur les systèmes basés sur Debian, ou construisez proxychains-ng à partir des sources pour la dernière version).

Modifier la configuration

Ouvrez le fichier de configuration. Choisissez un mode de chaîne (strict_chain, dynamic_chain ou random_chain) et, surtout, activez proxy_dns pour acheminer le DNS à travers la chaîne.

Ajoutez votre proxy en bas

Dans la section [ProxyList], ajoutez votre ligne SOCKS5 : type, hôte, port et, pour les proxies authentifiés, nom d'utilisateur et mot de passe. s4m SOCKS5 est sur le port 1080.

Exécutez une commande à travers cela

Préfixez toute commande avec proxychains4, par exemple proxychains4 curl https://api.ipify.org, et confirmez que l'IP de sortie est celle du proxy, pas la vôtre.

Exemple de proxychains4.conf

Activez proxy_dns pour éviter les fuites de recherches, choisissez un mode de chaîne et listez vos proxies. En strict_chain, le trafic passe par chaque proxy dans l'ordre.

ini
# /etc/proxychains4.conf

# Route all connections through the proxies in ORDER, all must be up:
strict_chain
# (alternatives: dynamic_chain = skip dead ones; random_chain = random subset)

# CRITICAL: resolve DNS through the chain, not your local resolver:
proxy_dns

[ProxyList]
# type   host                 port  user  pass
socks5   proxy.s4m.online     1080  USER  PASS
# Chain a second hop by adding another line below (strict_chain):
# socks5 another.proxy.host   1080  USER2 PASS2

# Usage:
#   proxychains4 curl https://api.ipify.org
#   proxychains4 nmap -sT -Pn target      (TCP connect scan only)
Share this page
FAQ

Questions, réponses

Comment empêcher proxychains de fuir des DNS ?

Activez l'option proxy_dns dans proxychains4.conf. Sans cela, vos requêtes DNS vont à votre résolveur local et révèlent les domaines que vous visitez même si les connexions sont proxyées. Avec cela, les requêtes sont résolues via la chaîne de proxy.

Les proxychains peuvent-ils acheminer le ping ou le trafic UDP ?

Non. proxychains fonctionne au niveau de la connexion TCP en interceptant les appels de bibliothèque, donc il ne peut pas proxy les ICMP bruts (ping) ou les UDP arbitraires. Il n'affecte également que les programmes liés dynamiquement. Utilisez un VPN complet si vous devez acheminer du trafic non-TCP de manière transparente.

Puis-je chaîner plusieurs proxies avec proxychains ?

Oui. Ajoutez plusieurs lignes à la section [ProxyList]. En mode strict_chain, votre trafic passe par tous dans l'ordre ; dynamic_chain saute ceux qui sont hors service ; random_chain utilise un sous-ensemble aléatoire. Chaque saut supplémentaire ajoute de la latence, donc chaînez seulement autant que nécessaire.

Obtenez un point de terminaison SOCKS5 à chaîner

s4m fournit des proxies SOCKS5 authentifiés sur le port 1080, prêts à être intégrés dans proxychains. Paiement à l'utilisation, une liste de proxies gratuite pour les tests, comptes anonymes et paiements en crypto.

Les gens ont trouvé cette page en recherchant

Vraies phrases de recherche auxquelles cette page répond — les liens ouvrent la page qui les couvre en profondeur.