Tüm lokasyonlar aktif · %99.99 uptime
SOCKS5

SOCKS5 Proxy Nasıl Çalışır?

SOCKS5 proxy nedir yazımızda kavramı tanıttık. Burada protokolün içine bakıyoruz: istemci ile sunucu arasında hangi baytlar gidip geliyor, adres nasıl belirtiliyor ve bu tasarım neden HTTP proxy'den daha genel amaçlı bir araç üretiyor?

SOCKS5, RFC 1928'de tanımlanmış oldukça sade bir protokoldür. Sadeliği gücünün kaynağıdır: uygulama katmanındaki veriyi hiç yorumlamaz, yalnızca TCP (ve isteğe bağlı UDP) trafiğini taşır.

Üç Aşamalı El Sıkışma

ŞEKİLSOCKS5 bağlantısının aşamaları
EL SIKIŞMA01Selamlama(greeting)1 turİstemci desteklediğikimlik yöntemlerinibildirir02Yöntemseçimiaynı turSunucu biriniseçer veyareddeder03Kimlik doğrulama1 turSeçilen yöntemuygulanır (gerekliyse)04CONNECT isteği1 turHedef adres ve portbildirilir05Veri aktarımısüresizProtokol artık şeffaf bir borudurbağlantı ömrü →

Kimlik doğrulama gerekmiyorsa üç tur ikiye iner. HTTP proxy'nin CONNECT yöntemine göre biraz daha fazla tur gerektirir ama baytlar çok daha küçüktür.

Aşama 1 — Selamlama

İstemci ilk paketinde protokol sürümünü ve desteklediği kimlik doğrulama yöntemlerini bildirir:

ŞEKİLİstemci selamlama paketi
İSTEKVER0x05SOCKS sürümü: 5NMETHODS0x02Kaç yöntem sunuluyorMETHODS[0]0x00Kimlik gerekmezMETHODS[1]0x02Kullanıcı adı / şifre

Sunucu tek baytlık bir yanıtla seçimini bildirir: 0x00 (kimlik gerekmez), 0x02 (kullanıcı/şifre) veya 0xFF (kabul edilebilir yöntem yok).

Hata ayıklama ipucu

Sunucu 0xFF döndürüp bağlantıyı kapatıyorsa, istemciniz sunucunun beklediği kimlik yöntemini sunmuyor demektir. "Bağlantı sessizce kapandı" şikâyetinin en yaygın nedeni budur.

Aşama 2 — Kimlik Doğrulama

Yöntem 0x02 seçildiyse RFC 1929'da tanımlı alt görüşme yapılır: sürüm baytı, kullanıcı adı uzunluğu ve kullanıcı adı, şifre uzunluğu ve şifre. Sunucu tek baytlık başarı/başarısızlık döndürür.

Ayrıntılı karşılaştırma ve pratik yapılandırma için SOCKS5 kimlik doğrulama yazımıza bakabilirsiniz.

Aşama 3 — CONNECT İsteği

Kimlik geçildikten sonra istemci hedefi bildirir. Burada SOCKS5'in en önemli tasarım kararı devreye girer: adres üç farklı biçimde verilebilir.

ŞEKİLCONNECT isteği yapısı
İSTEKVER0x05SürümCMD0x0101=CONNECT, 02=BIND,03=UDPRSV0x00AyrılmışATYP0x0301=IPv4, 03=alan adı,04=IPv6ADDRornek.comHedef adresPORT0x01BB443

ATYP=0x03 alan adı anlamına gelir; bu durumda DNS çözümlemesini proxy yapar. Bu tek bayt, DNS sızıntısını önlemenin anahtarıdır.

Neden HTTP Proxy'den Daha Genel?

ŞEKİLİki protokolün çalıştığı katmanlar
KATMAN7UygulamaHTTP / HTTPS / SMTP / FTPHTTP proxy yalnızca HTTP anlar5OturumSOCKS5İçeriğe bakmaz, her şeyi taşır4TaşımaTCP / UDPSOCKS5 ikisini de destekler3IPv4 / IPv6Adresleme

HTTP proxy isteği okur ve yorumlar; SOCKS5 yalnızca taşır. Bu yüzden SOCKS5 üzerinden e-posta, oyun, dosya aktarımı ve tarayıcı trafiği aynı anda geçebilir.

ÖzellikHTTP proxySOCKS5
Çalıştığı katmanUygulama (7)Oturum (5)
Protokol desteğiYalnızca HTTP(S)Herhangi bir TCP, isteğe bağlı UDP
İçeriği yorumlamaEvetHayır
Başlık eklemeYapabilirYapamaz
ÖnbelleklemeMümkünMümkün değil
DNS çözümlemeProxy tarafındaSeçilebilir (ATYP)
El sıkışma turu1 (CONNECT)2–3

Detaylı karşılaştırma için HTTP proxy ve SOCKS5 farkı yazımıza bakabilirsiniz.

SOCKS5 Şifreleme Yapar mı?

Hayır. Bu, en yaygın yanlış anlamadır. SOCKS5 bir taşıma protokolüdür; şifreleme sunmaz. Trafiğinizin güvenliği, taşınan içeriğin kendi şifrelemesine bağlıdır:

  • HTTPS üzerinden geçiyorsa: TLS uçtan uca korur; proxy içeriği göremez.
  • Düz HTTP ise: Proxy operatörü içeriği okuyabilir.
  • Kimlik bilgisi: SOCKS5 kullanıcı adı/şifresi düz metin gönderilir.
Güvenlik notu

SOCKS5'in kimlik bilgileri şifrelenmeden iletilir. Güvenilmeyen bir ağda SOCKS5 proxy kullanıyorsanız, kimlik bilgileriniz aradaki bir gözlemci tarafından okunabilir. Bu senaryoda SSH tüneli üzerinden SOCKS5 kullanmak daha güvenlidir — yöntemi ayrı bir yazıda anlattık.

Pratik Kullanım

ŞEKİLSOCKS5 ile temel işlemler
Terminal01# DNS'i proxy tarafında çöz (önerilen)02curl --socks5-hostname kullanici:sifre@proxy.example.com:1080 https://example.com0304# DNS'i yerelde çöz (sızıntı riski)05curl --socks5 proxy.example.com:1080 https://example.com0607# Ortam değişkeni ile (birçok araç bunu okur)08export ALL_PROXY="socks5h://kullanici:sifre@proxy.example.com:1080"0910# Python requests (socks desteği için: pip install requests[socks])11proxies = {"http": "socks5h://kullanici:sifre@proxy.example.com:1080",12 "https": "socks5h://kullanici:sifre@proxy.example.com:1080"}1314# Test: çıkış IP'si15curl --socks5-hostname proxy.example.com:1080 -s https://ornek-ip.example/text

socks5h şemasındaki h "hostname" anlamına gelir ve DNS çözümlemesinin proxy tarafında yapılmasını sağlar. Sızıntıyı önlemek için her zaman bunu tercih edin.

Ne Zaman SOCKS5 Seçmelisiniz?

SOCKS5 tercih edin

  • HTTP dışı protokoller taşıyacaksanız (e-posta, FTP, oyun).
  • DNS çözümlemesini proxy tarafında yapmak istiyorsanız.
  • UDP trafiği gerekiyorsa.
  • Proxy'nin başlıklarınıza dokunmasını istemiyorsanız.
  • Uygulama yalnızca SOCKS destekliyorsa.

HTTP proxy yeterli

  • Yalnızca web trafiği taşıyacaksanız.
  • Önbellekleme istiyorsanız.
  • Aracınız yalnızca HTTP proxy destekliyorsa.
  • En düşük el sıkışma turu önemliyse.
  • Kurumsal filtreleme kuralları gerekiyorsa.

Özet

SOCKS5, uygulama verisine hiç bakmadan TCP ve UDP trafiğini taşıyan sade bir oturum katmanı protokolüdür. Üç aşamalı el sıkışması, üç farklı adres türü desteği ve alan adı seçeneği sayesinde DNS sızıntısını önleme imkânı sunar. Şifreleme sağlamaz; güvenlik taşınan içeriğin kendi şifrelemesine bağlıdır. Web dışı trafik taşımanız gerekiyorsa doğru araçtır. Ürün ayrıntıları için SOCKS5 proxy sayfamıza, test için proxy kontrol aracımıza bakabilirsiniz.

Sıkça Sorulan Sorular

01SOCKS5 trafiğimi şifreler mi?

Hayır. SOCKS5 bir taşıma protokolüdür ve şifreleme sunmaz. Güvenlik, taşınan içeriğin kendi şifrelemesinden gelir; HTTPS kullanıyorsanız içerik uçtan uca korunur.

02socks5 ile socks5h arasındaki fark nedir?

socks5h, DNS çözümlemesinin proxy tarafında yapılmasını ister; socks5 ise yerelde çözer. Sızıntıyı önlemek için her zaman socks5h tercih edin.

03SOCKS5 bağlantım sessizce kapanıyor, neden?

Büyük olasılıkla istemciniz sunucunun beklediği kimlik doğrulama yöntemini sunmuyor. Sunucu 0xFF döndürüp bağlantıyı kapatır. İstemcinin kullanıcı/şifre yöntemini desteklediğinden emin olun.

04SOCKS5 HTTP proxy'den yavaş mı?

El sıkışması bir tur fazladır ama taşınan baytlar çok küçüktür. Pratikte fark birkaç milisaniyedir ve veri aktarımı başladıktan sonra iki protokol arasında hız farkı yoktur.

05Her uygulama SOCKS5 destekler mi?

Hayır. Tarayıcılar, curl ve çoğu modern kütüphane destekler; ancak bazı uygulamalar yalnızca HTTP proxy bilir. Bu durumda araya bir protokol dönüştürücü koymak gerekir.

İlgili Yazılar ve Sayfalar

SONRAKİ ADIM

Proxy altyapınızı bugün güçlendirin.

Ücretli paketlerle dakikalar içinde başlayın veya önce ücretsiz proxy listemizi deneyin.

FREEPROXY.TR

Ücretsiz proxy arıyorsanız doğru yerdesiniz

Güncel ücretsiz proxy adreslerini görüntüleyebileceğiniz, HTTP ve SOCKS proxy türlerini karşılaştırabileceğiniz ve proxy bağlantılarınızı ücretsiz araçlarla kontrol edebileceğiniz kapsamlı bir proxy platformu.