Alle Standorte aktiv · 99.99% Uptime
SOCKS5

Wie funktioniert ein SOCKS5 Proxy?

Was ist ein SOCKS5-Proxy haben wir in unserem Beitrag das Konzept vorgestellt. Hier schauen wir in das Protokoll hinein: Welche Bytes gehen zwischen Client und Server hin und her, wie wird die Adresse angegeben, und warum macht dieses Design SOCKS5 zu einem universelleren Werkzeug als einen HTTP-Proxy?

SOCKS5 ist ein ausgesprochen schlichtes Protokoll, das in RFC 1928 definiert ist. Seine Schlichtheit ist die Quelle seiner Stärke: Es interpretiert die Daten der Anwendungsschicht überhaupt nicht, sondern transportiert lediglich TCP- (und optional UDP-)Traffic.

Der dreistufige Handshake

ABBILDUNGDie Phasen einer SOCKS5-Verbindung
HANDSHAKE01Begrüßung(Greeting)1 RundeDer Client teilt die von ihm unterstütztenAuthentifizierungsmethodenmit02Methodegeeigneten Nodesdieselbe RundeDer Server wählt einedavon aus oderlehnt ab03Authentifizierung1 RundeDie gewählte Methodewird angewendet (falls erforderlich)04CONNECT-Anfrage1 RundeZieladresse und Portwerden mitgeteilt05DatenübertragungunbegrenztDas Protokoll ist jetzt eine transparente LeitungVerbindungsdauer →

Ist keine Authentifizierung erforderlich, reduzieren sich die drei Runden auf zwei. Gegenüber der CONNECT-Methode des HTTP-Proxys sind etwas mehr Runden nötig, die Bytes sind dafür deutlich kleiner.

Phase 1 – Begrüßung

Der Client teilt in seinem ersten Paket die Protokollversion und die von ihm unterstützten Authentifizierungsmethoden mit:

ABBILDUNGBegrüßungspaket des Clients
ANFRAGEVER0x05SOCKS-Version: 5NMETHODS0x02Wie viele Methoden angeboten werdenMETHODS[0]0x00Keine Authentifizierung erforderlichMETHODS[1]0x02Benutzername / Passwort

Der Server teilt seine Wahl mit einer ein Byte langen Antwort mit: 0x00 (keine Authentifizierung erforderlich), 0x02 (Benutzer/Passwort) oder 0xFF (keine akzeptable Methode).

Tipp zur Fehlersuche

Der Server 0xFF zurückgibt und die Verbindung schließt, bedeutet das, dass Ihr Client die vom Server erwartete Authentifizierungsmethode nicht anbietet. Das ist die häufigste Ursache für die Beschwerde "Die Verbindung wurde stillschweigend geschlossen".

Phase 2 – Authentifizierung

Wurde die Methode 0x02 gewählt, findet die in RFC 1929 definierte Unterverhandlung statt: Versions-Byte, Länge des Benutzernamens und Benutzername, Länge des Passworts und Passwort. Der Server gibt Erfolg oder Misserfolg in einem einzelnen Byte zurück.

Für einen ausführlichen Vergleich und die praktische Konfiguration in unserem Beitrag zur SOCKS5-Authentifizierung können Sie nachlesen.

Phase 3 – CONNECT-Anfrage

Nach bestandener Authentifizierung teilt der Client das Ziel mit. Hier kommt die wichtigste Design-Entscheidung von SOCKS5 ins Spiel: Die Adresse kann in drei verschiedenen Formen angegeben werden.

ABBILDUNGAufbau der CONNECT-Anfrage
ANFRAGEVER0x05VersionCMD0x0101=CONNECT, 02=BIND,03=UDPRSV0x00ReserviertATYP0x0301=IPv4, 03=Domainname,04=IPv6ADDRornek.comZieladressePORT0x01BB443

ATYP=0x03 bedeutet Domainname; in diesem Fall übernimmt der Proxy die DNS-Auflösung. Dieses eine Byte ist der Schlüssel zur Vermeidung von DNS-Leaks.

Warum universeller als ein HTTP-Proxy?

ABBILDUNGDie Schichten, auf denen die beiden Protokolle arbeiten
EBENE7AnwendungHTTP / HTTPS / SMTP / FTPEin HTTP-Proxy versteht nur HTTP5SessionSOCKS5Sieht nicht in den Inhalt, transportiert alles4TransportTCP / UDPSOCKS5 unterstützt beides3NetzwerkIPv4 / IPv6Adressierung

Ein HTTP-Proxy liest die Anfrage und interpretiert sie; SOCKS5 transportiert sie lediglich. Deshalb können über SOCKS5 E-Mail-, Spiele-, Dateiübertragungs- und Browser-Traffic gleichzeitig laufen.

MerkmalParameterSOCKS5
ArbeitsschichtAnwendung (7)Sitzung (5)
ProtokollunterstützungNur HTTP(S)Beliebiges TCP, optional UDP
Interpretation des InhaltsJaNein
Hinzufügen von HeadernMöglichNicht möglich
CachingMöglichNicht möglich
DNS-AufloesungAuf der Proxy-SeiteWählbar (ATYP)
Handshake-Runden1 (CONNECT)2–3

Für einen ausführlichen Vergleich Unterschied zwischen HTTP-Proxy und SOCKS5 .

Verschlüsselt SOCKS5?

Nein. Das ist das häufigste Missverständnis. SOCKS5 ist ein Transportprotokoll; es bietet keine Verschlüsselung. Die Sicherheit Ihres Traffics hängt von der Verschlüsselung der transportierten Inhalte selbst ab:

  • Wenn es über HTTPS läuft: TLS schützt Ende-zu-Ende; der Proxy kann den Inhalt nicht sehen.
  • Bei reinem HTTP: Der Proxy-Betreiber kann den Inhalt mitlesen.
  • Zugangsdaten: Benutzername und Passwort von SOCKS5 werden im Klartext übertragen.
Sicherheitshinweis

Die Zugangsdaten von SOCKS5 werden unverschlüsselt übertragen. Wenn Sie einen SOCKS5-Proxy in einem nicht vertrauenswürdigen Netz nutzen, können Ihre Zugangsdaten von einem Beobachter dazwischen mitgelesen werden. In diesem Szenario ist es sicherer, SOCKS5 über einen SSH-Tunnel zu nutzen – die Methode in einem eigenen Beitrag erklärt.

Praktischer Einsatz

ABBILDUNGGrundlegende Vorgänge mit SOCKS5
Terminal01# DNS auf der Proxy-Seite auflösen (empfohlen)02curl --socks5-hostname kullanici:sifre@proxy.example.com:1080 https://example.com0304# DNS lokal auflösen (Leak-Risiko)05curl --socks5 proxy.example.com:1080 https://example.com0607# Über Umgebungsvariable (viele Tools lesen diese aus)08export ALL_PROXY="socks5h://kullanici:sifre@proxy.example.com:1080"0910# Python requests (für SOCKS-Unterstützung: pip install requests[socks])11proxies = {"http": "socks5h://kullanici:sifre@proxy.example.com:1080",12 "https": "socks5h://kullanici:sifre@proxy.example.com:1080"}1314# Test: Exit-IP15curl --socks5-hostname proxy.example.com:1080 -s https://ornek-ip.example/text

socks5h im Schema h bedeutet "hostname" und sorgt dafür, dass die DNS-Auflösung auf der Proxy-Seite erfolgt. Um Leaks zu vermeiden, sollten Sie es immer bevorzugen.

Wann sollten Sie SOCKS5 wählen?

Wählen Sie SOCKS5

  • Wenn Sie Protokolle außerhalb von HTTP transportieren (E-Mail, FTP, Spiele).
  • Wenn Sie die DNS-Auflösung auf der Proxy-Seite durchführen möchten.
  • Wenn UDP-Traffic benötigt wird.
  • Wenn Sie nicht möchten, dass der Proxy Ihre Header verändert.
  • Wenn die Anwendung nur SOCKS unterstützt.

HTTP-Proxy genuegt

  • Wenn Sie ausschließlich Web-Traffic transportieren.
  • Wenn Sie Caching wünschen.
  • Wenn Ihr Tool nur HTTP-Proxys unterstützt.
  • Wenn die geringstmögliche Zahl an Handshake-Runden wichtig ist.
  • Wenn Filterregeln auf Unternehmensebene benötigt werden.

Zusammenfassung

SOCKS5 ist ein schlichtes Protokoll der Sitzungsschicht, das TCP- und UDP-Traffic transportiert, ohne jemals in die Anwendungsdaten zu sehen. Dank des dreistufigen Handshakes, der Unterstützung dreier Adresstypen und der Option Domainname bietet es die Möglichkeit, DNS-Leaks zu verhindern. Es stellt keine Verschlüsselung bereit; die Sicherheit hängt von der Verschlüsselung der transportierten Inhalte ab. Wenn Sie Traffic außerhalb des Webs transportieren müssen, ist es das richtige Werkzeug. Für Produktdetails unsere SOCKS5-Proxy-Seite, zum Testen unser Proxy-Check-Tool können Sie nachlesen.

Häufig gestellte Fragen

01Verschlüsselt SOCKS5 meinen Traffic?

Nein. SOCKS5 ist ein Transportprotokoll und bietet keine Verschlüsselung. Die Sicherheit ergibt sich aus der Verschlüsselung der transportierten Inhalte selbst; wenn Sie HTTPS verwenden, ist der Inhalt Ende-zu-Ende geschützt.

02Was ist der Unterschied zwischen socks5 und socks5h?

socks5h verlangt, dass die DNS-Auflösung auf der Proxy-Seite erfolgt; socks5 hingegen löst lokal auf. Um Leaks zu vermeiden, sollten Sie immer socks5h bevorzugen.

03Meine SOCKS5-Verbindung wird stillschweigend geschlossen – warum?

Höchstwahrscheinlich bietet Ihr Client die vom Server erwartete Authentifizierungsmethode nicht an. Der Server gibt 0xFF zurück und schließt die Verbindung. Stellen Sie sicher, dass der Client die Benutzer-/Passwort-Methode unterstützt.

04Ist SOCKS5 langsamer als ein HTTP-Proxy?

Der Handshake benötigt eine Runde mehr, aber die übertragenen Bytes sind sehr klein. In der Praxis beträgt der Unterschied wenige Millisekunden, und sobald die Datenübertragung läuft, gibt es keinen Geschwindigkeitsunterschied zwischen den beiden Protokollen.

05Unterstützt jede Anwendung SOCKS5?

Nein. Browser, curl und die meisten modernen Bibliotheken unterstützen es; manche Anwendungen kennen jedoch nur HTTP-Proxys. In diesem Fall muss ein Protokollkonverter dazwischengeschaltet werden.

Verwandte Beiträge und Seiten

NÄCHSTER SCHRITT

Stärken Sie Ihre Proxy-Infrastruktur noch heute.

Starten Sie mit den kostenpflichtigen Paketen in wenigen Minuten oder testen Sie zuerst unsere kostenlose Proxy-Liste.

FREEPROXY.TR

Wenn Sie einen kostenlosen Proxy suchen, sind Sie hier richtig

Eine umfassende Proxy-Plattform: aktuelle kostenlose Proxy-Adressen ansehen, HTTP- und SOCKS-Proxy-Typen vergleichen und Ihre Proxy-Verbindungen mit kostenlosen Tools prüfen.