# Proxy SOCKS5: il protocollo e come usarlo | ProxyJam

Cos’è SOCKS5, in cosa differisce da un proxy HTTP, quando conta il DNS remoto e come passare a SOCKS5 un proxy ISP statico di ProxyJam e collegarti con la porta e le credenziali che l’ordine mostra a quel punto.

- Canonical: https://proxyjam.com/it/socks5-proxies/
- Updated: 2026-10-23
- Language: it

SOCKS5 è un protocollo proxy a livello di trasporto: apre una connessione per conto tuo e sposta byte, senza leggere né riscrivere ciò che contengono. Ogni proxy ISP statico che vendiamo si può passare da HTTP a SOCKS5 e viceversa sull’ordine che hai già.

Cambiare protocollo non significa cambiare prodotto: cambi il proxy che hai già, dalla dashboard o dall’API, e l’ordine viene aggiornato con la nuova porta e le nuove credenziali con cui collegarti.


SOCKS5 è un protocollo proxy, non un tipo di indirizzo: inoltra una connessione TCP senza leggere né riscrivere ciò che contiene. Ogni proxy residenziale statico (ISP) venduto da ProxyJam funziona con HTTP, che trasporta HTTPS, oppure con SOCKS5, e passi dall’uno all’altro sull’ordine che hai già; dopo il cambio, collegati con la porta e le credenziali che l’ordine mostra.


## Cosa succede tra il tuo client e il nostro

Tre brevi scambi, e in nessuno di essi il proxy deve capire il tuo traffico.

1. **Il tuo client saluta il proxy e concordano l’autenticazione.** Offre i metodi che supporta; il proxy indica quello che vuole. Sui nostri indirizzi è username e password, oppure niente del tutto se invece hai messo in whitelist il tuo IP.
2. **Il tuo client chiede una destinazione.** Un host e una porta, inviati come indirizzo oppure come nome. Inviare il nome è il caso interessante: lo risolve il proxy, quindi la ricerca parte dalla rete del proxy e non dalla tua.
3. **Da lì in poi il proxy sposta solo byte.** Non analizza il contenuto, non aggiunge intestazioni e non sa se sta trasportando una pagina web, una sessione di database o un trasferimento di posta. Questa indifferenza è proprio il motivo per scegliere SOCKS5 invece di un proxy HTTP.

## Per decidere verso quale protocollo puntare un client

### Sviluppatori

Verso quale protocollo puntare un client, e quale schema, socks5 o socks5h, impostarvi una volta cambiato il proxy.

### Operatori

Verso quale protocollo puntare un client, e come cambiare il proxy che hai già dalla dashboard o dall’API.


## Passare un proxy ProxyJam a SOCKS5

1. **Cambia il proxy stesso** Dalla dashboard o con una chiamata API sull’ordine; cambiare solo il client non basta. Il proxy può restare brevemente non disponibile durante il cambio.
2. **Copia la porta, lo username e la password che l’ordine mostra dopo il cambio** Non riutilizzare i valori con cui ti collegavi via HTTP.
3. **Imposta lo schema nel tuo client** `socks5h://USERNAME:PASSWORD@HOST:PORT` perché sia il proxy a risolvere i nomi host, oppure `socks5://` per risolverli dal tuo lato.
4. **Prova da un terminale prima di toccare il codice** `curl -x socks5h://USERNAME:PASSWORD@HOST:PORT https://example.com/`.
5. **Installa l’extra SOCKS in Python** In Python, requests ha bisogno del suo extra SOCKS, `pip install requests[socks]`, prima che un URL proxy `socks5h://` funzioni.

## Prima collegati, poi cambia lo schema

Gli esempi qui sotto si collegano via HTTP, il protocollo con cui parte un ordine. Per usare SOCKS5, cambia prima il proxy stesso, dalla dashboard o con una chiamata API; l’ordine mostra allora la porta e le credenziali da usare da quel momento in poi. Nel client, cambia lo schema in socks5, oppure in socks5h se vuoi che sia il proxy a risolvere il nome host, con quella porta e quelle credenziali. Per farlo Python ha bisogno di requests[socks], e Node.js di un agent SOCKS al posto di quello HTTPS.

### Python

Fai passare una richiesta dal tuo proxy con Python requests.

```
import requests

# HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
proxy = "http://USERNAME:PASSWORD@HOST:PORT"

proxies = {
    "http": proxy,
    "https": proxy,
}

response = requests.get(
    "https://example.com/",
    proxies=proxies,
)

print(response.status_code)
```

### cURL

Un solo comando per inviare una richiesta tramite il tuo proxy.

```
# HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
curl -x http://USERNAME:PASSWORD@HOST:PORT \
     https://example.com/
```

### Node.js

Fai passare axios dal tuo proxy in poche righe.

```
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";

// HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
const proxy = "http://USERNAME:PASSWORD@HOST:PORT";
const agent = new HttpsProxyAgent(proxy);

const response = await axios.get(
  "https://example.com/",
  {
    httpAgent: agent,
    httpsAgent: agent,
  },
);

console.log(response.status);
```

### Go

Configura http.Transport con il tuo proxy e invia una richiesta.

```
package main

import (
    "fmt"
    "net/http"
    "net/url"
)

func main() {
    // HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
    proxy, _ := url.Parse(
        "http://USERNAME:PASSWORD@HOST:PORT")

    client := &http.Client{Transport: &http.Transport{
        Proxy: http.ProxyURL(proxy),
    }}

    res, _ := client.Get("https://example.com/")
    fmt.Println(res.Status)
}
```


## SOCKS5 o proxy HTTP: cosa trasporta ciascuno e cosa può vedere il proxy

|  | Proxy HTTP | HTTPS tramite CONNECT | SOCKS5 |
|---|---|---|---|
| Cosa può trasportare | Solo richieste HTTP | Un tunnel TCP verso l’host e la porta indicati | Qualsiasi flusso TCP |
| Il proxy legge il contenuto? | Sì: analizza la richiesta | No, una volta aperto il tunnel | No, in nessun momento |
| Può modificare le tue intestazioni? | Sì: le inoltra e può aggiungerne di proprie, come Via | No, una volta aperto il tunnel | No: non ha alcuna nozione di intestazione |
| Dove viene risolto il nome host | Sul proxy | Sul proxy: CONNECT nomina l’host | Lo scegli tu, a uno dei due capi |
| Supporto tipico nei client | Universale negli strumenti HTTP | Universale negli strumenti HTTP | Comune negli strumenti da riga di comando; alcune librerie richiedono un pacchetto aggiuntivo |
| Più adatto a | Richieste web semplici | Navigazione e scraping HTTPS ordinari | Protocolli non web e traffico misto |

Un proxy ProxyJam funziona con HTTP, che trasporta HTTPS tramite CONNECT, oppure con SOCKS5, e il cambio si fa sull’ordine. La scelta dipende da ciò che il tuo client deve inviare.


## Cosa ti dà SOCKS5 sui nostri indirizzi

- **Protocollo:** SOCKS5 o HTTP (che trasporta HTTPS), con il cambio fatto sull’ordine
- **Autenticazione:** Username e password, oppure una whitelist IP
- **Indirizzo visto dall’obiettivo:** Un indirizzo ISP statico sulla rete di un operatore con nome
- **Scelta dell’operatore:** 19 operatori con nome negli Stati Uniti; un elenco più breve altrove
- **Copertura:** 77 paesi nel catalogo, ciascuno con l’operatore indicato
- **Rotazione:** Nessuna: l’indirizzo non cambia durante il periodo
- **Sessioni simultanee:** 100 per proxy, 10 oltre i 50 GB al mese
- **Contabilizzazione del traffico:** Per IP e per periodo; il trasferimento non viene misurato con nessun protocollo

## Domande su SOCKS5

Le risposte qui sotto indicano le condizioni a cui vendiamo, e ognuna che lo fa rimanda al documento che ci vincola.

### Cos’è un proxy SOCKS5?

SOCKS5 è un protocollo proxy definito nell’RFC 1928 che opera a livello di trasporto. Il tuo client chiede al proxy di aprire una connessione verso un host e una porta, il proxy la apre e da quel momento inoltra byte in entrambe le direzioni senza interpretarli. Poiché non analizza mai ciò che trasporta, non è limitato al traffico web: qualsiasi cosa funzioni su TCP può passarci.

### In cosa differisce da un proxy HTTP?

Un proxy HTTP capisce HTTP. Legge la riga della richiesta e le intestazioni, ed è libero di aggiungerle, rimuoverle o riscriverle, ed è per questo che alcuni proxy si annunciano in silenzio in un’intestazione che non hai impostato tu. SOCKS5 non ha alcuna nozione di intestazione: vede una destinazione e un flusso di byte. Se il tuo traffico non è HTTP, o preferisci che nulla nel mezzo possa modificarlo, SOCKS5 è quello da scegliere.

### SOCKS5 cifra il mio traffico?

No, e nemmeno un proxy HTTP. SOCKS5 ti autentica presso il proxy e poi inoltra byte. La specifica consente a un metodo di autenticazione di aggiungere una propria protezione, ma l’autenticazione con username e password (RFC 1929) invia la password in chiaro e non protegge nulla dopo. Se il traffico all’interno è HTTPS o SSH, è già cifrato end-to-end e il proxy non può leggerlo. Se il traffico all’interno è in chiaro, resta in chiaro, quindi non trattare SOCKS5 come un livello di cifratura.

### Cosa fa socks5h che socks5 non fa?

Sposta la ricerca DNS. Con socks5, il tuo client risolve il nome host in locale e chiede al proxy di collegarsi all’indirizzo risultante. Con socks5h, il tuo client invia il nome e il proxy lo risolve. Questo conta per due motivi: il tuo resolver non vede mai quali host visiti, e ottieni la risposta che ottiene la rete del proxy, che per un nome host che varia in base alla geografia spesso non è quella che otterresti da casa.

### Supporta UDP?

UDP ASSOCIATE è nell’RFC 1928; se un determinato client o server lo implementi varia, quindi controlla entrambi i capi invece di darlo per scontato. Non abbiamo pubblicato il supporto UDP per i nostri proxy, quindi conta su TCP, e chiedi al supporto prima di costruire qualcosa che dipenda da UDP.

### Mi serve un proxy diverso per usare SOCKS5?

No. Passi il proxy che hai già tra HTTP, che trasporta anche HTTPS, e SOCKS5, dalla dashboard o con una chiamata all’API sullo stesso ordine. Non è solo un’impostazione del client: il cambio avviene sul proxy, l’ordine viene aggiornato con il nuovo protocollo, la nuova porta e le nuove credenziali, e il proxy può restare brevemente non disponibile mentre succede. Il proxy resta tuo per tutto il periodo che hai pagato, viene sostituito gratis se smette di rispondere o è bloccato su un obiettivo che hai indicato, fino al 20 % dell’ordine per mese solare, e il primo ordine prevede un rimborso entro 24 ore fino a 10 IP che i test non annullano.


## HTTP o SOCKS5?

Resta su HTTP quando invii solo traffico web e i tuoi strumenti parlano già con i proxy HTTP. Passa a SOCKS5 quando un client deve trasportare qualcosa che non è HTTP, o quando vuoi che i nomi host vengano risolti sul proxy senza che nulla nel mezzo possa modificare le tue intestazioni. In entrambi i casi è lo stesso prodotto, che si ordina su [proxy ISP](/it/isp-proxies/) e che viene descritto anche come [proxy residenziali statici](/it/static-residential-proxies/), senza un ordine separato e senza costi per il cambio. Le domande sulla configurazione trovano risposta nelle [FAQ](/it/faq/). I numeri di operatori e di paesi in questa pagina sono letti dall’istantanea del catalogo da cui viene generato il sito, come descrive la nostra [politica editoriale](/it/editorial-policy/).



## Fonti

- [RFC 1928, SOCKS Protocol Version 5](https://www.rfc-editor.org/rfc/rfc1928): la specifica del 1996, con la negoziazione dell’autenticazione, i comandi CONNECT, BIND e UDP ASSOCIATE, e destinazioni indicate come nomi di dominio o indirizzi IPv6
- [RFC 1929, Username/Password Authentication for SOCKS V5](https://www.rfc-editor.org/rfc/rfc1929): il metodo di accesso, che invia la password in chiaro
- [RFC 9110, HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110): sezione 9.3.6, una richiesta CONNECT nomina l’host e la porta di destinazione, e il proxy apre il tunnel verso di essi
- [curl man page](https://curl.se/docs/manpage.html): `--socks5` risolve il nome host in locale, `--socks5-hostname` lascia che lo risolva il proxy
- [Everything curl, SOCKS proxy](https://everything.curl.dev/usingcurl/proxies/socks.html): `socks5://` e `socks5h://` in un URL proxy, e quale capo risolve il nome host
- [OpenBSD manual, ssh(1)](https://man.openbsd.org/ssh): `-D` imposta l’inoltro dinamico locale delle porte, con ssh che fa da server SOCKS4 e SOCKS5, e `-N` inoltra le porte senza eseguire un comando remoto




SOCKS5 trasporta qualsiasi cosa per cui il tuo client possa aprire una connessione TCP, compreso il traffico che un proxy HTTP non può inoltrare, e fa passare i byte senza toccarli. Questo lo rende la scelta naturale per un client di database, una sessione SSH o qualsiasi strumento che non parli HTTP. Ciò che non fa è cambiare la natura dell’indirizzo. Il protocollo proxy si parla tra il tuo client e il proxy; il sito all’altro capo vede una connessione dall’indirizzo del proxy, più le eventuali intestazioni che un proxy HTTP ha scelto di aggiungere. Quindi la domanda da porsi non è quale protocollo acquistare. È a quale rete appartiene l’indirizzo, e lì la risposta è un provider internet con nome, 19 negli Stati Uniti.

## Cosa dicono le specifiche

La versione 5 di SOCKS è stata pubblicata nel 1996 come [RFC 1928](https://www.rfc-editor.org/rfc/rfc1928), un protocollo per attraversare i firewall che ha esteso la versione 4 di SOCKS con UDP, un quadro per i metodi di autenticazione e destinazioni indicate come nomi di dominio o indirizzi IPv6. Un client offre i metodi di autenticazione che supporta e il server ne sceglie uno; poi il client chiede una connessione in uscita (CONNECT), una porta in ascolto (BIND) o un relay UDP (UDP ASSOCIATE). L’accesso con username e password ha una propria breve specifica, l’[RFC 1929](https://www.rfc-editor.org/rfc/rfc1929), che invia la password in chiaro; per questo conviene tenere cifrato il traffico dentro il tunnel quando conta.

L’opzione del nome di dominio è ciò tra cui scelgono gli schemi socks5 e socks5h. Il [manuale di curl](https://curl.se/docs/manpage.html) descrive `--socks5` come l’uso del proxy «but resolve the hostname locally» (ma risolvendo il nome host in locale), e `--socks5-hostname` come la variante che lascia che «the proxy resolve the hostname» (sia il proxy a risolvere il nome host). In un URL proxy, `socks5://` dà il primo comportamento e `socks5h://` il secondo, come riporta la tabella di [Everything curl](https://everything.curl.dev/usingcurl/proxies/socks.html). Un proxy HTTP che trasporta HTTPS riceve di norma il nome: una richiesta CONNECT nomina l’host e la porta di destinazione, e il proxy apre il tunnel verso di essi ([RFC 9110](https://www.rfc-editor.org/rfc/rfc9110), sezione 9.3.6). Il relay UDP fa parte della specifica SOCKS5, ma le implementazioni differiscono su questo punto; le FAQ qui sotto spiegano cosa significa per i nostri proxy.

## Usare SOCKS5 su SSH

Se hai già un accesso SSH a un server, hai un proxy SOCKS5 senza acquistarne uno. `ssh -N -D 1080 user@server` imposta quello che il [manuale ssh di OpenBSD](https://man.openbsd.org/ssh) chiama inoltro delle porte locale «dynamic» (dinamico) a livello di applicazione: ssh resta in ascolto sulla porta 1080 della tua macchina e «will act as a SOCKS server» (farà da server SOCKS), trasportando ogni connessione sul canale SSH cifrato e aprendola dalla macchina remota. `-N` lo limita all’inoltro, senza shell remota. Punta un client a `socks5h://127.0.0.1:1080` e il suo traffico esce dal server.

La differenza rispetto a un proxy SOCKS5 acquistato sta nel punto da cui esce la connessione. Attraverso un tunnel SSH, il sito all’altro capo vede l’indirizzo del server SSH e la rete a cui appartiene quel server, che per un server noleggiato è di solito quella di una società di hosting. SSH cifra il tratto tra te e il server; dal server al sito, il traffico resta quello che era già. Un proxy ProxyJam passato a SOCKS5 esce da un indirizzo sulla rete di un provider internet con nome, scelto per paese e operatore al checkout, e ti colleghi direttamente con la porta e le credenziali dell’ordine, senza SSH nel mezzo e senza un server tuo da gestire.

Quindi i due rispondono a domande diverse. Un tunnel su SSH fa uscire il traffico da una macchina che controlli già. Un proxy SOCKS5 su un indirizzo ISP serve per il lavoro in cui conta l’indirizzo di uscita stesso, cioè quale rete mostra una ricerca su di esso.

