Socks Proxy: What it is and it’s Types

June 1, 2017

Socks (short of sockets) is a protocol that a proxy server can use to accept requests from client users in a company’s network so that it can forward them across the Internet. Socks uses sockets to represent and keep track of individual connections.

Socks has their client side built into certain Web Severs and the server side can be added to a proxy server.It works for any kind of network protocol on any port. The Socks server does not interpret the network traffic between client and server in any way, and is often used because clients are behind a firewall and are not permitted to establish TCP connections to servers outside the firewall unless they do it through the Socks server.

People knowing many other sorts of proxies are still unaware of SOCKS proxy and what it really is. We will be briefing you on what SOCKS Proxy really is and how it functions. SOCKS is a protocol that is intended to act a circuit level proxy for applications.

It is very different from ‘normal’ proxy because they are application proxies. For instance, when you use a HTTP proxy you are actually forwarding the HTTP request, and the HTTP proxy server then performs the request on your behalf. An example of this would be asking someone to pass you the a plate at the dinner table and them passing the plate to you on your request. The SOCKS protocol is roughly equivalent to setting up an IP tunnel with a firewall and the protocol requests are then initiated from the firewall.

The client contact the SOCKS proxy server and, by exchanging messages defined by the SOCKS protocol, negotiates a proxy connection. When a connection is established, the client communicates with the SOCKS server using the SOCKS protocol. The external server communicates with the SOCKS server as if it were the actual client
A socks server handles requests from clients inside a company’s firewall and either allows or rejects connection requests, based on the requested Internet destination or user identification. Once a connection and a subsequent “bind” request have been set up, the flow of information exchange follows the usual protocol for example, the Web’s HTTP.

An HTTP proxy is similar, and may be used for the same purpose when clients are behind a firewall and are prevented from making outgoing TCP connections to servers outside the firewall. However, unlike the SOCKS server, an HTTP proxy does understand and interpret the network traffic that passes between the client and downstream server, namely the HTTP protocol. Because of this the HTTP proxy can ONLY be used to handle HTTP traffic, but it can be very smart about how it does it.
It can recognize frequently repeated requests and cache them in order to improve the performance.HTTP proxies are used by many ISPs regardless of how the browser is configured because they simply route all traffic on port 80 through the proxy server.

Types of Socks Proxy Sever:

There are two versions of SOCKS :-

SOCKS5 and SOCKS4. For us end users, they are different in 2 parts:

* 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.