Socks (ou "SOCKS") é um protocolo que um servidor proxy pode usar para aceitar pedidos de usuários clientes na rede de uma empresa para que ela possa encaminhá-los através da Internet. Socks usa sockets para representar e manter o controle de conexões individuais. O lado cliente do Socks está embutido em certos navegadores Web e o lado servidor pode ser adicionado a um servidor proxy.
Um servidor Socks lida com pedidos de clientes dentro do firewall de uma empresa e permite ou rejeita pedidos de conexão, com base no destino da Internet solicitado ou identificação do usuário. Uma vez estabelecida uma conexão e um pedido "bind" subsequente, o fluxo de troca de informações segue o protocolo habitual (por exemplo, o protocolo Web's Hypertext Transfer Protocol).