SOCKS is a protocol that is intended to act a circuit level proxy

March 21, 2017

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.

How it works
SOCKS is client/server. A users’ workstation must have a SOCKS client installed, either in the application (such as putty, Firefox), or deep in the TCP/IP stack where the client software will redirect packets into a SOCKS tunnel.

The SOCKS client will initiate a connection to a SOCKS server. The SOCKS protocol allows for authentication and logging of the connection requests. This is the confusing part: The SOCKS server then acts as the IP Client for the connection request.This means that the external server is only aware of the SOCKS Server (the proxy).