Socks proxy was formed with the general purpose of establishing a TCP connection on behalf of the client with another server to en route and manage the traffic between the client and the server it is connected to.
Version 5 of socks proxy introduced has many additional features for efficient support to security and UDP. For the purpose of security, it has also developed the authentication process so that only authenticated users are having access.
The SOCKS5 protocol was originally a security protocol established with the purpose of fireballs and other security products easy for the users.
In the year 1996 SOCKS got its approval from IETF (Internet Engineering Task Force)international community for network designers, vendors, operators, researchers and etc.
It filters and allows the traffic for having access to content.
Some SSH users provide a dynamic port forward which allows users to create a local proxy, the outcome of which is the user is free from the limitation of connecting only to predefined remote port and server.
Socks protocol acts transparently and informs the proxy software about the connection the client is trying to make . However an HTTP proxy directly forwards HTTP request to the desired HTTP server.
Though HTTP here has a different usage model, the CONNECT method allows the forwarding of TCP connections. Whereas SOCKS proxy can forward UDP traffic and also works in reverse which HTTP cannot do.
Let us understand this concept more deeply with few examples
1. James wants to get connected and download a web page from Georges web server, but cannot do so directly as a fireball is present in his network so in order to communicate with server James will connect to his networks HTTP proxy and HTTP proxy further send a HTTP request header and connect to George’s server to transmit back the data it offers to James.
2. Whereas in socks proxy if James wishes to communicate with George over the internet, he will not be able to do it directly as he will be restricted by a fireball. So he will connect to socks proxy on his network and SOCKS proxy in return will open a connection through the fireball and this will allow communication between James and George.