What is a SOCKS proxy?

SOCKS is an Internet protocol that routes network packets between a client and server through a proxy server.

A SOCKS proxy allows traffic to bypass Internet filtering to access content otherwise blocked, e.g., by governments, workplaces, schools, and country-specific web services.

Some ssh suites, such as OpenSSH, SSH Proxy and SSH Tunnel developed by Codinn, support dynamic port forwarding that allows the user to create a local SOCKS proxy. This can free the user from the limitations of connecting only to a predefined remote port and server.

There are two versions of SOCKS - SOCKS5 and SOCKS4:

  • SOCKS4 can handle protocols (like TELNET, FTP, HTTP, GOPHER, etc) only based on TCP whereas SOCKS5 can support both TCP and UDP.
  • SOCKS5 is much more secure than SOCKS4, it supports user authentication whereas SOCKS4 has no such feature.