Socks stands for socket secure. It is a network protocol. It promotes communication with the server through the firewall by routing network traffic to the actual server on behalf of the client. Socks is designed to route any type of traffic generated by any protocol or program.
Since socks is located in layer 5 between SSL (layer 7) and TCP / UDP (layer 4), it can handle a variety of request types, including HTTP, HTTPS, POP3, SMTP and FTP. Therefore, socks can be used for e-mail, web browsing, peer-to-peer sharing, file transfer, etc.
There are only two versions of socks agent: Socks4 and Socks5. The main differences between Socks5 and Socks4 are:
Socks4 does not support authentication, while Socks5 supports multiple authentication methods;
Socks4 does not support UDP proxy, while Socks5 does.
Socks5 proxy is more secure because it establishes a complete TCP connection through authentication and uses secure shell (SSH) encrypted tunneling to relay traffic.