Socks (o "SOCKS") è un protocollo che un server proxy può utilizzare per accettare richieste dagli utenti client nella rete di un'azienda in modo che possa inoltrarle attraverso Internet. Socks utilizza i socket per rappresentare e tenere traccia delle singole connessioni. Il lato client di Socks è integrato in alcuni browser Web e il lato server può essere aggiunto a un server proxy.
Un server socks gestisce le richieste dei client all'interno del firewall di un'azienda e consente o rifiuta le richieste di connessione, in base alla destinazione Internet richiesta o all'identificazione dell'utente. Una volta stabilita una connessione e una successiva richiesta di "bind", il flusso di scambio delle informazioni segue il normale protocollo (ad esempio, il protocollo Hypertext Transfer Protocol del Web).