SOCKS5 ne yapar, ne yapmaz?
SOCKS5 proxy, istemcinin istediği hedefe bir TCP bağlantısı açar ve baytları iki yönde olduğu gibi aktarır. İçeriği yorumlamaz; bu nedenle web, e-posta, mesajlaşma ve oyun gibi TCP kullanan farklı uygulamalar aynı proxy'den geçebilir. HTTP proxy ise yalnızca HTTP'yi anlar ve düz HTTP isteklerini okuyabilir (HTTP proxy).
SOCKS5 (RFC 1928): yöntem pazarlığı, isteğe bağlı kullanıcı adı/parola (RFC 1929), bağlantı isteği ve yanıt.
- 1. İstemci → Proxy: İstemci desteklediği yöntemleri sunar
- 2. Proxy → İstemci: Proxy bir yöntem seçer
- 3. İstemci → Proxy: Kullanıcı adı ve parola gönderilir (isteğe bağlı)
- 4. Proxy → İstemci: Proxy kimlik bilgisini onaylar (isteğe bağlı)
- 5. İstemci → Proxy: İstemci bağlantı ister
- 6. Proxy → Hedef: Proxy hedefe TCP bağlantısı açar
- 7. Proxy → İstemci: Proxy sonucu bildirir
- 8. İstemci → Hedef: Veri proxy üzerinden aktarılır
Düz bağlantı
İstemci desteklediği yöntemleri sunar
- VER
- 0x05
- NMETHODS
- sunulan yöntem sayısı
- METHODS
- 0x00 kimlik yok · 0x02 kullanıcı/parola
SOCKS5 kendi başına şifrelemez. socks5:// ile ad istemcide, socks5h:// ile proxy’de çözülür. Kontrol aracımız yalnızca TCP CONNECT sınar.
El sıkışma adım adım
- 1
1. Karşılama (greeting)
İstemci
VER=5, desteklediği yöntem sayısı ve yöntemleri gönderir:0x00kimlik doğrulamasız,0x02kullanıcı adı/parola. ProxyVERve seçtiği yöntemi döner; hiçbiri kabul edilmiyorsa0xFFyanıtı verir ve bağlantı biter. - 2
2. Kimlik doğrulama (RFC 1929)
Yöntem
0x02seçildiyse istemciVER=1, kullanıcı adı uzunluğu ve adı, parola uzunluğu ve parolasını gönderir. ProxyVER=1ve durum döner;0başarıdır, diğer değerler başarısızdır. - 3
3. Bağlantı isteği
İstemci
VER=5, komut1(CONNECT),RSV=0, adres türü (1IPv4,3alan adı,4IPv6), hedef adres ve port gönderir. - 4
4. Yanıt
Proxy
VER,REP(sonuç kodu),RSV, adres türü, bağlı adres ve port döner.REP=0ise tünel açılmıştır ve sonrası ham bayt akışıdır.
REP hata kodları
| REP | Anlam | Genelde ne demek? |
|---|---|---|
| 0 | Başarılı | Tünel açıldı |
| 1 | Genel SOCKS sunucu hatası | Proxy tarafında tanımsız hata |
| 2 | Kural kümesi izin vermiyor | Proxy erişim kuralı o hedefi engelliyor |
| 3 | Ağ erişilemiyor | Proxy hedef ağa yol bulamıyor |
| 4 | Makineye erişilemiyor | Hedef IP kapalı ya da yönlendirilemiyor |
| 5 | Bağlantı reddedildi | Hedef portta dinleyen yok |
| 6 | TTL süresi doldu | Hedefe giden yol çok uzun ya da döngüde |
| 7 | Komut desteklenmiyor | Örneğin proxy yalnızca CONNECT bilir |
| 8 | Adres türü desteklenmiyor | Örneğin proxy IPv6 ya da alan adı kabul etmiyor |
socks5 ve socks5h: DNS çözümü kimde?
curl ve birçok kütüphanede socks5:// kullanırsanız alan adı sizin makinenizde çözülür ve proxy'ye IP adresi gider. socks5h:// ise alan adını olduğu gibi proxy'ye gönderir ve çözümü proxy yapar. Yerel DNS'inizin hedefi öğrenmesini istemiyorsanız socks5h kullanın; bu DNS sızıntısını önlemenin standart yoludur (DNS sızıntısı rehberi).
# Ad yerelde çözülür
curl --proxy socks5://KULLANICI:[email protected]:1080 https://example.com/
# Ad proxy'de çözülür (DNS sızıntısını önler)
curl --proxy socks5h://KULLANICI:[email protected]:1080 https://example.com/
# Eşdeğer eski bayraklar
curl --socks5 proxy.example.com:1080 --proxy-user KULLANICI:PAROLA https://example.com/import requests
proxies = {
"http": "socks5h://KULLANICI:[email protected]:1080",
"https": "socks5h://KULLANICI:[email protected]:1080",
}
r = requests.get("https://example.com/", proxies=proxies, timeout=15)
print(r.status_code)SOCKS5 mi HTTP proxy mi?
| Durum | Daha uygun |
|---|---|
| Sadece web trafiği ve tarayıcı/araç HTTP proxy ayarı destekliyor | HTTP proxy |
| HTTP olmayan TCP uygulaması (mesajlaşma, oyun istemcisi, FTP vb.) | SOCKS5 |
| Alan adının proxy tarafında çözülmesi önemli | SOCKS5 (socks5h) |
Uygulama yalnızca http:// proxy adresi alıyor | HTTP proxy |
Protokolün UDP ASSOCIATE komutu da vardır, ancak proxy kontrol aracımız yalnızca TCP CONNECT'i sınar; UDP desteği hakkında bir sonuç vermez. SOCKS5 üzerinden IPv6 hedef kullanımı sağlayıcı ve pakete bağlıdır; sipariş öncesi teyit edin.
saglamproxy.com üzerinde Türkiye ISP ve mobil paketlerinde sipariş sırasında HTTP ya da SOCKS5 seçilir; diğer ürünlerdeki protokol desteği ürün sayfalarında anlatıldığı gibidir. Karşılaştırma için HTTP & SOCKS5 Proxy sayfasına bakın.
SOCKS5 proxy’nizi kimlik doğrulamasıyla birlikte sınayın.
Proxy Kontrol Et