Come Installare e Configurare ProxyChains su Linux
Hai mai avuto bisogno di far usare a un programma un proxy, ma il programma semplicemente non supporta le impostazioni del proxy? Forse stai eseguendo uno strumento da riga di comando che non ha opzioni proxy integrate, oppure vuoi instradare il traffico attraverso più proxy per maggiore anonimato. È qui che ProxyChains viene in soccorso.
Che cos'è ProxyChains?
ProxyChains è un potente strumento UNIX che costringe qualsiasi connessione di rete effettuata da un programma a passare attraverso uno o più server proxy, anche quando quel programma non supporta i proxy in modo nativo.
Funziona intercettando le chiamate alle librerie relative alla rete nei programmi collegati dinamicamente (tramite LD_PRELOAD), reindirizzando in modo trasparente quelle connessioni attraverso proxy come server SOCKS4, SOCKS5 o HTTP.
ProxyChains supporta Linux, BSD, macOS e Haiku. La cosa migliore è che è completamente gratuito e open-source.
Che tu sia un ricercatore di sicurezza, un tester di penetrazione o semplicemente qualcuno che vuole bypassare le restrizioni geografiche, questa guida ti guiderà attraverso tutto ciò che devi sapere.
Cosa fa esattamente ProxyChains?
Pensa a ProxyChains come a un costruttore di tunnel per il tuo traffico di rete. Quando esegui un programma con proxychains davanti al comando, le sue connessioni di rete vengono automaticamente reindirizzate attraverso i proxy che hai definito.
ProxyChains funziona intercettando le chiamate alle librerie di rete nei programmi collegati dinamicamente tramite LD_PRELOAD, intercettando le connessioni prima che raggiungano la rete.
Nota che questo approccio funziona solo con programmi collegati dinamicamente, come script, programmi che utilizzano dlopen() per caricare moduli e programmi che generano più processi in background potrebbero non funzionare in modo affidabile.
I casi d'uso comuni includono:
- Nascondere il tuo vero indirizzo IP quando ti connetti ai siti web
- Collegare più proxy insieme per maggiore anonimato (come Tor → SOCKS5 → HTTP)
- Bypassare firewall o restrizioni geografiche
- Usare strumenti di rete come
nmapocurlsenza supporto proxy integrato - Testare il comportamento delle applicazioni dietro i proxy
Per il penetration testing e la ricognizione, l'ordine consigliato è: VPN → ProxyChains → Obiettivo. In questo modo, il tuo ISP vede solo traffico criptato verso la tua VPN, il tuo fornitore di VPN vede connessioni ai proxy piuttosto che all'obiettivo finale, e l'obiettivo vede solo l'ultimo proxy nella tua catena.
Nota Importante: ProxyChains non cripta il tuo traffico e instrada solo le connessioni TCP. UDP e ICMP non sono supportati indipendentemente dal tipo di proxy che configuri. La tua privacy dipende interamente dai proxy che utilizzi e dal fatto che supportino la crittografia (come Tor o SOCKS5 su TLS). ProxyChains da solo nasconde solo il tuo indirizzo IP alla destinazione. Per una privacy forte, combinane l'uso con una VPN o Tor.
Installa ProxyChains in Linux
ProxyChains è disponibile nella maggior parte dei repository delle distribuzioni Linux.
Su Arch Linux e Manjaro:
sudo pacman -S proxychains-ng torSu Debian, Ubuntu e Pop!_OS:
sudo apt update
sudo apt install proxychains4 tor -ySu Kali Linux, ProxyChains viene fornito preinstallato, ma potresti volerlo aggiornare all'ultima versione.
Su Red Hat, Fedora, AlmaLinux e Rocky Linux:
Per le distribuzioni che utilizzano dnf o yum:
sudo dnf install proxychains-ng torSe hai bisogno di compilare dal sorgente, puoi clonare il repository:
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make -j $(nproc)
sudo make install
sudo make install-configQuesto installa il file di configurazione in /etc/proxychains.conf. Avrai bisogno anche di Tor installato, poiché la configurazione predefinita utilizza un proxy Tor locale.
Avvio del servizio Tor
Prima di configurare qualsiasi cosa, avviamo il servizio Tor. Tor fornisce un proxy SOCKS su 127.0.0.1:9050 per impostazione predefinita.
sudo systemctl start tor
sudo systemctl enable tor # Starts Tor automatically at bootControlla se funziona correttamente:
sudo systemctl status torDovresti vedere "active (running)" nell'output.
Configurazione di ProxyChains
Ora arriva la parte importante. Il file di configurazione principale si trova solitamente in /etc/proxychains4.conf su Debian/Ubuntu/Kali (installato tramite il pacchetto proxychains4) o in /etc/proxychains.conf nelle compilazioni da sorgente e in alcune altre distribuzioni.
Aprilo con il tuo editor di testo preferito:
sudo nano /etc/proxychains4.confPasso 1: Scegli un tipo di catena
Cerca la sezione sul tipo di catena all'inizio del file. Vedrai diverse opzioni, ognuna con un comportamento specifico:
#dynamic_chain
#strict_chain
#round_robin_chain
#random_chainScegli quello che si adatta alle tue esigenze:
- dynamic_chain (consigliato per i principianti): Utilizza i proxy nell'ordine indicato ma salta quelli non funzionanti. Finché almeno un proxy funziona, la catena opera correttamente.
- strict_chain (predefinito): Utilizza i proxy in ordine rigoroso. Se un proxy fallisce, l'intera catena fallisce.
- round_robin_chain: Cicla attraverso i proxy in ordine, ricominciando da dove era rimasto ad ogni nuova connessione.
- random_chain: Seleziona proxy casuali dalla tua lista per ogni connessione.
Rimuovi il commento dal tipo scelto rimuovendo il # all'inizio della riga e commenta gli altri.
Passo 2: Abilitare il proxy DNS
Trova la riga #proxy_dns e rimuovi il commento. Questo previene le perdite DNS instradando le richieste DNS attraverso i tuoi proxy:
proxy_dnsPasso 3: Rivedi le impostazioni del timeout
I valori di timeout predefiniti sono solitamente adeguati, ma puoi ajustarli se necessario:
tcp_read_time_out 15000
tcp_connect_time_out 8000Fase 4: Aggiungi i tuoi proxy
Scorri verso il basso fino alla sezione [ProxyList] alla fine del file. La voce predefinita è un proxy SOCKS4 su localhost porta 9050 (Tor):
socks4 127.0.0.1 9050Per l'uso con la direttiva proxy_dns, sostituiscila con una voce SOCKS5. SOCKS5 consente una corretta risoluzione DNS lato proxy, che è ciò su cui proxy_dns si basa per prevenire perdite:
[ProxyList]
socks5 127.0.0.1 9050Il formato per aggiungere proxy è: tipo indirizzo_IP porta [nome_utente] [password]. I tipi di proxy supportati includono http, socks4 e socks5.
Salva il file con Ctrl + O, premi Enter, poi Ctrl + X per uscire da nano.
Testare la tua configurazione
Verifichiamo che tutto funzioni correttamente. Per prima cosa, controlla il tuo indirizzo IP reale:
curl ifconfig.meOra controlla che IP sembri avere tramite ProxyChains:
proxychains curl ifconfig.meL'IP dovrebbe essere diverso dal tuo reale.
Puoi anche testare specificamente con il controllore del Tor Project:
proxychains curl https://check.torproject.orgSe tutto è configurato correttamente, dovresti vedere un messaggio che dice "Congratulazioni. Questo browser è configurato per usare Tor."
Uso di ProxyChains con applicazioni da riga di comando
Usare ProxyChains è piuttosto semplice. Basta anteporre proxychains a qualsiasi comando:
# Downloading files
proxychains wget http://example.com/file.zip
# Network scanning with nmap
proxychains nmap -sT -Pn target.com
# SSH connections
proxychains ssh user@server.comPer strumenti di scansione della rete come nmap, ricorda di utilizzare il flag -sT (connessione TCP), poiché le scansioni SYN (-sS) utilizzano socket raw e non funzionano tramite ProxyChains.
Usare Firefox con Tor (Nota Importante)
Potresti essere tentato di eseguire Firefox con proxychains firefox. Tuttavia, questo approccio non funziona in modo affidabile perché le versioni moderne di Firefox caricano il loro codice di rete tramite moduli dlopen() (come libxul), che non ereditano i hook LD_PRELOAD da cui dipende ProxyChains. La documentazione ufficiale di ProxyChains nota esplicitamente questo come una limitazione conosciuta.
Ecco il modo corretto per instradare Firefox tramite Tor:
Passo 1: Conferma che Tor sia in esecuzione
sudo systemctl status torSe non è in esecuzione, avvialo con:
sudo systemctl start torPasso 2: Configura Firefox manualmente
Apri Firefox e segui questi passaggi:
- Clicca sul pulsante del menu (tre linee orizzontali) nell'angolo in alto a destra.
- Seleziona Impostazioni (o Preferenze su alcuni sistemi).
- Scorri verso il basso fino alla sezione Impostazioni Proxy e clicca sul pulsante Configura Proxy.
- Nella finestra di dialogo che appare, seleziona Configurazione manuale del proxy.
- Nel campo SOCKS Host, inserisci
127.0.0.1e la Porta9050. - Seleziona SOCKS v5 come versione SOCKS.
- Soprattutto, spuntare la casella che dice Proxy DNS quando si utilizza SOCKS v5. Questo previene le perdite DNS.
Passo 3: Verifica la Configurazione (Opzionale)
Per una verifica avanzata, digita about:config nella barra degli indirizzi di Firefox e accetta l'avviso. Cerca queste impostazioni e conferma che corrispondano:
network.proxy.typedovrebbe essere1(Configurazione proxy manuale)network.proxy.socksdovrebbe essere127.0.0.1network.proxy.socks_portdovrebbe essere9050network.proxy.socks_versiondovrebbe essere5network.proxy.socks_remote_dnsdovrebbe esseretrue
Passo 4: Testa la tua configurazione
Vai su https://check.torproject.org/ in Firefox. Se configurato correttamente, la pagina mostrerà "Congratulazioni. Questo browser è configurato per usare Tor."
Questo approccio di configurazione manuale è molto più affidabile rispetto all'utilizzo di proxychains con Firefox. La tua configurazione di proxychains funziona ancora perfettamente per strumenti da riga di comando come curl, wget e nmap.
Considerando un proxy commerciale (opzionale)
Il proxy Tor predefinito è gratuito e funziona bene per attività orientate alla privacy. Tuttavia, la rete Tor può essere più lenta rispetto ai proxy normali e alcuni siti web bloccano o limitano le connessioni dai nodi di uscita Tor.
Se hai bisogno di velocità maggiori, di una connessione stabile o di un indirizzo IP dedicato, puoi sostituire l'ingresso Tor nel tuo ProxyList con un proxy SOCKS5 o HTTP fornito da un provider commerciale. A seconda del provider e del tipo di proxy, questi servizi possono offrire prestazioni migliori e potrebbero essere meno soggetti a blocchi rispetto a Tor.
Ad esempio, fornitori come Proxy-Seller offrono proxy HTTP, HTTPS e SOCKS5 che funzionano con Proxychains. Indipendentemente dal fornitore che scegli, confronta caratteristiche come tipo di proxy, posizioni dei server, metodi di autenticazione, disponibilità e prezzi prima di effettuare un acquisto. È anche una buona idea testare il servizio e leggere recensioni indipendenti per assicurarsi che soddisfi le tue esigenze.
La differenza tra SOCKS4 e SOCKS5
Quando si configurano i proxy, incontrerai sia SOCKS4 che SOCKS5. Ecco perché SOCKS5 è generalmente preferito:
| Caratteristica | SOCKS4 | SOCKS5 |
|---|---|---|
| Supporto del protocollo | Solo TCP | TCP e UDP* |
| Gestione DNS | Nessun proxy DNS (SOCKS4 semplice; l'estensione SOCKS4a utilizzata da ProxyChains aggiunge l'inoltro del nome host) | Può eseguire richieste DNS tramite proxy |
| Autenticazione | None | Supporto per nome utente/password |
| Supporto IPv6 | No | Sì |
| Sicurezza | Inferiore | Più alto |
*SOCKS5 supporta UDP a livello di protocollo, ma ProxyChains instrada solo le connessioni TCP, indipendentemente dal tipo di proxy configurato. La capacità UDP di SOCKS5 non è accessibile tramite ProxyChains.
SOCKS5 è preferito con ProxyChains principalmente perché supporta la risoluzione completa dei DNS lato proxy (utilizzata dalla direttiva proxy_dns), l'autenticazione e l'indirizzamento IPv6.
Come si confrontano ProxyChains e una VPN?
Potresti chiederti perché usare ProxyChains quando una VPN sembra più semplice. Entrambi gli strumenti migliorano l'anonimato, ma funzionano in modo molto diverso.
Una VPN crea un tunnel crittografato a livello di sistema che instrada tutto il tuo traffico internet attraverso il suo server. È un approccio tutto o nulla che offre una crittografia forte e una buona velocità. Tuttavia, devi fidarti del tuo fornitore di VPN affinché non registri la tua attività.
ProxyChains funziona a livello applicativo. Forza solo determinati programmi (come curl o nmap) a passare attraverso una catena di proxy, mentre altre applicazioni rimangono invariate. Questo ti dà un controllo preciso, ma non offre alcuna criptazione di per sé. La tua anonimato dipende interamente dai proxy che utilizzi.
In termini di velocità, una VPN moderna è tipicamente molto più veloce perché utilizza protocolli ottimizzati come WireGuard. ProxyChains può essere notevolmente più lento, soprattutto se si concatenano più proxy o si utilizza la rete Tor, che instrada il traffico attraverso diversi nodi in tutto il mondo.
In breve: Usa una VPN quando vuoi una protezione veloce e criptata per tutto. Usa ProxyChains quando hai bisogno di instradare strumenti specifici attraverso una catena di proxy personalizzata, ad esempio per la ricerca OSINT o i test di penetrazione.
Suggerimenti Avanzati per la Configurazione
Utilizzo di più proxy in catena
Puoi concatenare più proxy per una maggiore anonimato. Tieni presente che aggiungere più proxy aumenta l'anonimato ma riduce la velocità e aumenta la possibilità di errori di connessione. Aggiungili tutti alla sezione [ProxyList]:
[ProxyList]
socks5 192.168.1.10 1080
http 192.168.1.20 8080
socks5 192.168.1.30 1080Aggiunta di proxy con autenticazione
Se i tuoi proxy richiedono l'autenticazione, includi nome utente e password:
socks5 proxy.example.com 1080 username passwordEsclusi i Reti Locali
Puoi escludere specifici intervalli di IP dall'essere proxy utilizzando la direttiva localnet:
localnet 127.0.0.0/255.0.0.0
localnet 192.168.0.0/255.255.0.0Risoluzione dei problemi di ProxyChains
Se le cose non funzionano, prova questi passaggi:
- Controlla lo stato di Tor:
sudo systemctl status tor - Usa la modalità dettagliata:
proxychains curl -v https://check.torproject.org - Verifica la tua lista di proxy: assicurati che indirizzi e porte siano corretti
- Riavvia Tor:
sudo systemctl restart tor - Controlla il percorso del file di configurazione: Esegui
proxychains4 --helpper vedere quale file di configurazione viene utilizzato - Per problemi con Firefox: Ricorda che Firefox necessita di una configurazione manuale del proxy, non di
proxychains, a causa del suo uso di moduli caricati dinamicamente che ignorano i hook LD_PRELOAD
Domande Frequenti (FAQ)
D: Proxychains è gratuito?
A: Sì. Proxychains è un software open-source e gratuito da usare.
D: Proxychains supporta SOCKS5?
A: Sì. Proxychains supporta proxy SOCKS4, SOCKS5 e HTTP.
D: Posso usare Proxychains con SSH?
A: Sì. Basta anteporre il comando con Proxychains:proxychains ssh user@host
D: Proxychains funziona con tutte le applicazioni?
A: No. Funziona principalmente con applicazioni che utilizzano connessioni TCP.
D: Qual è la differenza tra Proxychains e una VPN?
A: Una VPN instrada il traffico a livello di sistema o di rete. Proxychains instrada il traffico di applicazioni specifiche attraverso proxy configurati.
Conclusione
ProxyChains è uno strumento potente per il routing anonimo della rete. Ti offre un controllo dettagliato su quali applicazioni utilizzano i proxy. Tuttavia, ricorda che gestisce solo il traffico TCP e non cripta i tuoi dati. Per una privacy completa, combinatelo sempre con la crittografia (come Tor o una VPN).
La bellezza di ProxyChains è la sua semplicità. Una volta configurato, qualsiasi strumento da linea di comando diventa consapevole dei proxy con pochissimi caratteri aggiuntivi. Combinato con una fonte di proxy affidabile come Tor, fornisce una base solida per la navigazione anonima e il test della rete.
Ricorda: usa sempre questi strumenti in modo etico e responsabile. ProxyChains è uno strumento di rete potente. Dovresti usarlo per proteggere la tua anonimato, non per violare quella degli altri.
Hai domande o riscontri problemi? Lascia un commento qui sotto e ti aiuteremo a risolvere il tuo setup!
Da leggere anche:
- Come Configurare le Impostazioni del Proxy a Livello di Sistema su Ubuntu 26.04


