Fordert ein Client innerhalb der Firewall ein Objekt von einem Server im Internet an, wendet er sich dazu an den SOCKS-Server, der daraufhin eine Verbindung zum jeweiligen Rechner aufbaut. Client und SOCKS-Server kommunizieren über ein proprietäres Protokoll, das sog. SOCKS-Protokoll. Für den Benutzer erfolgt der Zugriff auf entfernte Server völlig transparent. Diese Transparenz wird durch die Verwendung von SOCKS-Bibliotheksfunktionen erreicht, die anstelle der normalen Socket-Funktionen von der jeweiligen Anwendung zum Verbindungsaufbau verwendet werden. Die SOCKS-Bibliotheksfunktionen sind so ausgelegt, daß alle Netzverbindungen ausschließlich über den SOCKS-Server abgewickelt werden.
Möchte eine Anwendung eine Verbindung zu einem entfernten Server aufbauen, ruft sie die SOCKS-Bibliotheksfunktionen auf, die eine Verbindung zum SOCKS-Server auf dem Firewall initiieren. Der SOCKS-Server prüft, ob der anfragende Rechner berechtigt ist, den jeweiligen Internet-Dienst zu nutzen und baut im positiven Fall eine Verbindung zum entfernten Server auf. Aus Sicht des entfernten Servers erscheint der SOCKS-Server als Originator der Anfrage. Alle Daten die der SOCKS-Server von der externen Verbindung erhält werden von diesem unverändert an den internen Rechner weitergeleitet. Der SOCKS-Server fungiert wie in Abbildung dargestellt, als transienter Socket-Server zwischen der internen Client-Anwendung und dem externen Rechner. Seine Aufgabe beschränkt sich auf das ,,Routen`` der Informationen zwischen internen und externen Socket-Verbindungen.