Das SOCKS Protokoll ist ein Internet-Proxy-Protokoll, das Client-Server-Anwendungen erlaubt, transparent die Dienste einer Firewall zu nutzen. SOCKS ist eine Abkürzung für "SOCKetS".
Clients hinter einer Firewall, die eine Verbindung zu einem externen Server aufbauen wollen, verbinden stattdessen zu einem SOCKS-Proxy. Dieser Proxy-Server überprüft die Berechtigung des Clients, den externen Server zu kontaktieren und leitet die Anfrage an den Server weiter.
Das SOCKS-Protokoll wurde ursprünglich von NEC entwickelt (SOCKS 4). Die aktuelle Version 5 des Protokolls, wie beschrieben in RFC 1928, erweitert die vorherigen Versionen um Unterstützung für UDP, Authentifizierung und IPv6.
Im OSI-Schichtmodell ist es eine Zwischenschicht zwischen der Anwendungsschicht und der Transportschicht.
Das SOCKS 4 Protokoll
Eine typische SOCKS 4-Verbindungsanfrage sieht wie folgt aus (Jede Nummer ist ein Byte):
Client: 4 1 0 80 66 102 7 99
(4 ist die SOCKS-Version, 1 ist die Verbindungsanfrage, 0 80 ist der Port, 66 102 7 99 die IP-Adresse, zu der der Client verbinden möchte)
Server: 0 90 0 80 66 102 7 99
(0 90 bedeutet, dass die Anfrage angenommen wurde, 0 80 ist der Port, 66 102 7 99 die IP-Adresse, zu der die Verbindung aufgebaut wurde)
Danach werden alle Daten, die der Client an den SOCKS-Proxy schickt, an 66.102.7.99 weitergeleitet. Umgekehrt werden alle Daten von 66.102.7.99 an den Client gesendet.
SOCKS-Server
Liste von SOCKS-Servern:
SOCKS-Clients
Es existieren Programme, die es anderen Programmen ermöglichen, externe Netzwerke über SOCKS zu erreichen, ohne dass sie spezielle Unterstützung dafür mitbringen müssen:
Liste von SOCKS-Clients:
Weblinks
- RFC 3089 - Ein SOCKS-basierender IPv4/IPv6-Gateway-Mechanismus
- RFC 1961 - GSS-API-Authentifizierungsmethode für SOCKS V5
- RFC 1929 - Benutzername/Passwort-Authentifizierung für SOCKS V5
- RFC 1928 - SOCKS-Protokoll Version 5
- http://archive.socks.permeo.com/protocol/socks4.protocol - SOCKS-Protokoll Version 4
- http://www.socks.permeo.com/AboutSOCKS/SOCKSOverview.asp