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.