Guide11 min read

What Is a SOCKS5 Proxy?

Short answer

A SOCKS5 proxy is a server that relays your app's connections to any host and port under its own IP address, using version 5 of the SOCKS protocol (RFC 1928, published in March 1996). It carries any TCP traffic, and UDP where the server allows it, without reading or rewriting your requests, and it can ask for a username and password, but it does not encrypt anything by itself. Use SOCKS5 instead of an HTTP proxy when the app is not a browser or HTTP client (mail, SSH, FTP, games, desktop tools), only has a SOCKS setting, or needs UDP; for ordinary HTTP and HTTPS work an HTTP proxy does the same job, since HTTPS crosses either one as an encrypted tunnel. ProxyField runs SOCKS5 on the same 412M+ residential IPs as HTTP, from $1.95/GB; start with the Easy Trial: 1 GB for $2.95.

residential IPs
412M+
from, traffic never expires
$1.95/GB
Easy Trial
1 GB for $2.95
On this page 10 sections
  1. SOCKS5 at a glance
  2. What is the SOCKS protocol?
  3. How a SOCKS5 proxy works, step by step
  4. What a SOCKS5 proxy can carry: TCP, UDP and DNS
  5. SOCKS5, SOCKS4 and HTTP proxies
  6. What SOCKS5 is good for, and when HTTP fits better
  7. How to convert between HTTP and SOCKS5
  8. Using a SOCKS5 proxy with ProxyField
  9. Sources
  10. What Is a SOCKS5 Proxy? FAQ

SOCKS5 at a glance

SOCKS5 is a general-purpose proxy protocol: one table holds everything the standard defines.

QuestionSOCKS5
StandardRFC 1928 "SOCKS Protocol Version 5", March 1996 (Standards Track)
Where it sitsA "shim layer" between the application and the transport layer, in the RFC's words; often called layer 5 (session)
Traffic it carriesAny TCP connection; UDP through the UDP ASSOCIATE command, if the server offers it
CommandsCONNECT (open a connection), BIND (accept an incoming one, as active FTP needs), UDP ASSOCIATE (relay UDP)
Destination formatsIPv4 address, IPv6 address, or a domain name the proxy resolves
AuthenticationNone, GSSAPI, or username and password (RFC 1929)
Usual portTCP 1080 by convention; a provider can use any port
EncryptionNone of its own; HTTPS, SSH and other encrypted traffic stay encrypted end to end through it

What SOCKS5 does not do

  • It does not encrypt. SOCKS5 relays bytes as they are: the proxy operator can read anything you send unencrypted and sees every destination host and port. Keep HTTPS, SSH or TLS inside it. RFC 1928 leaves security to "the particular authentication and encapsulation methods" chosen between client and server (section 8, Security Considerations).
  • Its password login is not protected. The username/password method of RFC 1929 sends both "in cleartext", so anyone who can watch the path between you and the proxy can read them.
  • It is not a VPN. Only apps set to use the proxy go through it; the rest of the device keeps its own connection, and so do DNS lookups unless the app asks the proxy to resolve names (socks5h://).
  • It is not anonymity by itself. It changes the IP address a site sees; cookies, logins and the browser fingerprint can still identify you.

What is the SOCKS protocol?

The SOCKS protocol is a way for a client to ask a server to open a network connection on its behalf. It was built for company firewalls: an app inside the network could not reach the internet directly, so it asked the SOCKS server at the edge to connect for it. RFC 1928 describes the goal as letting client-server applications "conveniently and securely use the services of a network firewall."

Version 4 handled TCP only. Version 5 kept the same model and, as the RFC lists, extended it "to include UDP", added "provisions for generalized strong authentication schemes" and extended addressing "to encompass domain-name and V6 IP addresses." The 1996 RFC credits six authors, among them David Koblas, who wrote the original SOCKS.

Today the same protocol serves a different job. Proxy providers run SOCKS5 servers so that apps can send their traffic out through other IP addresses, in other countries, for scraping, testing and monitoring. The firewall idea is still visible: the client always talks to the SOCKS server first, and the server decides what it may reach.

How a SOCKS5 proxy works, step by step

A SOCKS5 session has 4 steps before any data moves, all defined in RFC 1928 and RFC 1929:

  1. Greeting

    Your app opens a TCP connection to the proxy and lists the authentication methods it supports, for example "no authentication" and "username/password".

  2. Authentication

    The server picks one method. With username and password, the app sends both, and the server answers success or failure. RFC 1929 warns that this step sends the password "in cleartext", so it is not meant for networks where traffic can be sniffed.

  3. Request

    The app sends a command (CONNECT for a normal outgoing connection) with the destination as an IPv4 address, an IPv6 address or a domain name, plus the port.

  4. Reply and relay

    The server connects from its own IP and replies with a status code, from 00 "succeeded" to errors such as 05 "Connection refused". After a success, it copies bytes in both directions until one side closes.

Request: Your app → SOCKS5 proxy (greeting, login, CONNECT host:port) → Destination

Data: relayed byte for byte in both directions

The destination sees only the proxy's IP address.

Because the proxy only copies bytes, it does not care whether they are a web page, an email session or a game protocol. That is the main difference from an HTTP proxy, which reads each HTTP request and can add or remove headers.

What a SOCKS5 proxy can carry: TCP, UDP and DNS

TCP. Every SOCKS5 server relays TCP connections with CONNECT. Web traffic, SSH, database clients and most desktop apps use TCP.

UDP. The protocol can relay UDP through UDP ASSOCIATE, which voice, video calls, some games and DNS use. Each provider decides whether to offer it, and many clients never ask for it. ProxyField residential SOCKS5 relays UDP, on gate.proxyfield.io:7000 like every protocol.

DNS. Because a SOCKS5 request can carry a domain name instead of an IP address, the proxy can resolve the host name for you. Clients choose this with the socks5h:// scheme (the h stands for host name resolution by the proxy); with socks5:// your own machine looks the name up first. The full comparison is in SOCKS5 vs HTTP proxy.

ICMP. Ping does not go through SOCKS5: the RFC says it "does not provide network-layer gateway services, such as forwarding of ICMP messages." Test a SOCKS5 proxy with a real request, not with ping.

SOCKS5, SOCKS4 and HTTP proxies

SOCKS5 differs from SOCKS4 by passwords, UDP and host names, and from an HTTP proxy by what it reads.

FeatureSOCKS4SOCKS5HTTP proxy
TrafficTCPTCP, and UDP if offeredHTTP and HTTPS (HTTPS through a CONNECT tunnel)
LoginA user ID, no passwordUsername and password, or noneUsername and password (Proxy-Authorization)
Host namesNo (SOCKS4a added them)Yes, the proxy can resolve themYes
Reads your requestsNoNoYes, for plain HTTP
How HTTPS travelsInside the relayed TCP connection, encrypted end to endInside the relayed TCP connection, encrypted end to endThrough a CONNECT tunnel; the proxy sees the host and port, not the content
Typical clientsOld appsDesktop apps, scripts, SSH, some browsersBrowsers, scrapers, almost every HTTP library

Two posts go deeper: SOCKS4 vs SOCKS5 on the versions, and SOCKS5 vs HTTP proxy on speed, security and which to pick for scraping.

What SOCKS5 is good for, and when HTTP fits better

Choose SOCKS5 when the traffic is not HTTP or the app only knows SOCKS; choose an HTTP proxy for browsers and scrapers that already speak HTTP.

Use SOCKS5 whenUse an HTTP proxy when
The app is not a web client: mail, SSH, FTP, chat, games, database toolsYou only proxy web pages and HTTP or HTTPS requests
The app has a SOCKS setting and no HTTP proxy settingThe app or library has an HTTP proxy setting and no SOCKS support
The traffic needs UDP (voice, some games, QUIC), and the provider relays itYour network or employer gives you an HTTP proxy
You want the proxy to resolve host names (socks5h://)You want a proxy that can filter, log or cache web traffic
  • Apps without HTTP proxy support. Many desktop programs, game launchers and database tools offer only a SOCKS setting, or none; proxy client software can push them through SOCKS5 anyway.
  • Scripts and command-line tools. cURL, Python, Node.js and Git all accept a socks5h:// URL.
  • SSH. ssh -D 1080 user@host turns an SSH server into a local SOCKS proxy, and SSH can also connect out through a SOCKS5 proxy: see SSH with a SOCKS proxy.
  • Non-web protocols. Mail clients, FTP and chat apps send TCP traffic that an HTTP proxy cannot carry.

For plain web scraping the two protocols reach the same sites through the same IPs; the IP type (residential, mobile, datacenter) matters far more than the protocol. The types of proxies guide compares those.

How to convert between HTTP and SOCKS5

You convert one protocol to the other with a small local forwarder: your app talks HTTP to a program on your own machine, and that program forwards each connection to the SOCKS5 proxy, or the other way round.

  • HTTP app, SOCKS5 proxy. Run a local HTTP proxy that forwards upstream to SOCKS5. Privoxy, for example, does it with one line in its config: forward-socks5 / <login>:<password>@host:port . Your app then uses http://127.0.0.1:8118, Privoxy's default port.
  • Any app, either proxy. A proxy client app such as Proxifier captures an app's connections and sends them through an HTTPS or SOCKS5 proxy, so the app never has to speak the proxy's protocol.

With ProxyField you rarely need either: the same gateway speaks HTTP, HTTPS and SOCKS5 on the same IPs, so you pick the protocol in your app's settings instead of converting.

Using a SOCKS5 proxy with ProxyField

ProxyField's gateway gate.proxyfield.io:7000 takes SOCKS5 as well as HTTP and HTTPS, on residential and mobile IPs in 195+ countries.

  1. Buy traffic and get your credentials. The Easy Trial is 1 GB for $2.95 with no minimum purchase and no subscription. Access opens once the payment is confirmed; your username and password, or your IP allowlist, are in your account.

  2. Set the proxy URL in your app. Use socks5h:// so the proxy resolves host names:

    Shell
    curl -x "socks5h://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000" https://api.ipify.org

The response is the proxy's IP address, not yours. Country and city go in the username, as in the example. Region, session and session time go in the same username: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default), as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600; every part after the login is optional. SOCKS5 takes the same username and password as HTTP and HTTPS, on the same host and port. 3. Choose rotation or a sticky session. A new IP on every request, or the same IP for 30 seconds to 36 hours (presets 1, 5, 10 and 30 minutes and 1, 3 and 6 hours). 4. Check it. The proxy checker tests the connection; if it fails, the proxy error guide lists the usual causes.

Residential proxies cost $2.95/GB for 1 GB and fall to $1.95/GB from 1,000 GB, whichever protocol you use, and the traffic never expires. The product page for this setup is SOCKS5 proxies.

Sources

Checked in October 2026:

What Is a SOCKS5 Proxy? FAQ

What is a SOCKS5 proxy?

ProxyField offers SOCKS5 proxies on 412M+ residential IPs from $1.95/GB: a SOCKS5 proxy relays any TCP connection from your app to a destination under its own IP address, using version 5 of the SOCKS protocol (RFC 1928). Use it instead of HTTP when your app is not a browser or scraper, only has a SOCKS setting, or sends traffic that is not HTTP. For web pages, either protocol reaches the same sites through the same IPs.

What does a SOCKS5 proxy server do?

It opens connections on your behalf: your app tells the proxy which host and port to reach, the proxy connects from its own IP and copies the data in both directions. The destination sees the proxy's IP address instead of yours, and the proxy does not change the content it relays.

How would you explain SOCKS5 in simple terms?

SOCKS5 is a forwarding service for network connections: your app asks it "connect me to this address", and it makes the call from its own line and passes everything through. It works for almost any app, not only web browsers, and can ask for a username and password before it connects.

What is the SOCKS protocol?

A protocol that lets a client ask a server to open network connections for it, first built so apps inside a company firewall could reach the internet. Version 4 carried TCP only; version 5 (RFC 1928, 1996) added UDP, authentication methods, IPv6 addresses and domain names.

Is SOCKS a type of proxy?

Yes. SOCKS is a protocol, and a server that speaks it is a SOCKS proxy; the other common kind is the HTTP proxy. Proxy types such as residential, mobile or datacenter describe the IP address, so a residential proxy can be reached over SOCKS5 or over HTTP.

What is a SOCKS proxy server?

A server that accepts SOCKS connections, usually on TCP port 1080, and relays them to their destinations. It can speak SOCKS4, SOCKS4a or SOCKS5; proxy providers usually offer SOCKS5, the only version with password login and UDP.

How does a SOCKS5 proxy work?

Your app connects to the proxy and offers its login methods, then logs in if the server asks, then sends a CONNECT request with the destination address and port. The proxy connects from its own IP, replies with a status code and relays the data both ways until the connection closes.

Which network layer does SOCKS5 work at?

Between the application and the transport layer: RFC 1928 calls it a "shim layer" there, and it is often listed as layer 5 (session) of the OSI model. It relays TCP and UDP streams but not network-layer traffic such as ICMP, which is why ping does not go through a SOCKS5 proxy.

How do I convert an HTTP proxy to SOCKS5, or SOCKS5 to HTTP?

Run a small forwarder on your own machine: for an HTTP-only app and a SOCKS5 proxy, a local HTTP proxy such as Privoxy can forward every request upstream over SOCKS5. A proxy client app such as Proxifier can also send an app's connections through either protocol. With ProxyField you can skip the conversion, because one gateway takes HTTP, HTTPS and SOCKS5 on the same IPs.

What does the 5 in SOCKS5 mean?

The protocol version: SOCKS5 is version 5, and a SOCKS5 client's greeting and request both start with a version byte set to 5. Version 4 came before it; "SOCKS Protocol Version 6" was proposed as an individual Internet-Draft, last revised in November 2020, and expired without becoming a standard.

Show 1 more questionShow fewer questions

Who created the SOCKS protocol?

David Koblas wrote the original SOCKS in the early 1990s. SOCKS version 5 was published by the IETF as RFC 1928 in March 1996, with Marcus Leech of Bell-Northern Research and Koblas among its six authors.

Easy Trial: 1 GB for $2.95.

Try for the price of 1 GB, no subscription, traffic never expires.