SOCKS5 ve SOCKS5h: DNS çözümlemesi nerede yapılır?
curl’de yerel ve proxy tarafındaki DNS çözümlemesini karşılaştırın, ad çözümleme hatalarını inceleyin ve socks5h’nin koruma sınırlarını öğrenin.
curl’de hedef adını proxy’nin çözümlemesini istiyorsanız socks5h:// seçin. Adı curl’ün yerel olarak çözümleyip proxy’ye bir adres göndermesini istiyorsanız socks5:// seçin. İkisi de SOCKS5 kullanır; sondaki h, istemci URL’sine ait bir gösterim kuralıdır.
Yerel dinleyicinin yerine kendi SOCKS5 uç noktanızı yazarak modları karşılaştırın:
curl --noproxy '' --proxy socks5://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
curl --noproxy '' --proxy socks5h://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Yalnızca çözümleme modu değişir. --noproxy '' bu çağrılar için proxy’yi atlama kurallarını temizler, süre sınırları da karşılaştırmanın süresini sınırlar. Eşdeğer özel seçenekler --socks5 ve --socks5-hostname şeklindedir. Hedef olarak ana makine adı kullanın: doğrudan yazılmış bir IP adresi hedef adı sorgusu gerektirmez ve bu farkı gösteremez.
Bir ad yalnızca bir tarafta biliniyor olabilir
Proxy’nin, DNS’i bir iç hizmetin adını bilen geliştirme ağı içinde çalıştığını varsayın. Dizüstü bilgisayarınız socks5 modunda bu adı çözümleyemeyebilir; socks5h ise çözümlemeyi proxy’ye bırakır. Durumu tersine çevirip adı yalnızca bilgisayarınızın hosts dosyasında tanımlarsanız bu kez uzaktaki sorgu başarısız olabilir.
Genel DNS de farklı ağlardan farklı adresler döndürebilir. Sonuçlar farklıysa hemen proxy değiştirmek yerine seçilen adresleri ve bunların erişilebilirliğini karşılaştırın.
- Proxy’nin ana makine adı çözümlenemiyor: hiçbir mod başlayamaz. İstemciniz
proxy.exampleadınısocks5h://proxy.example:1080içinde de çözümlemeye devam eder. - Hedefin yerel ad sorgusu başarısız: istemcinin çözümleyicisini inceleyin veya ana makine adını proxy’ye gönderen modla karşılaştırın.
- SOCKS sunucusu hedefi reddediyor: yanıtını ve politikasını inceleyin. Başarılı bir yerel sorgu, uzaktan erişilebilirliği kanıtlamaz.
- Tünel çalışıyor ama sertifika doğrulaması başarısız: hedef TLS bağlantısını inceleyin; farklı bir DNS modu seçmek güven sorunlarını genel olarak çözmez.
Kontrolünüzdeki bir test adı ve sunucu günlükleri, yönettiğiniz proxy’ye hangi adres türünün ulaştığını doğrulayabilir. Çıkış IP’sini gösteren bir web sayfası bunu yapamaz: dışarıya kurulan bağlantıyı bildirir, DNS işleminin nerede yapıldığını değil.
Gizlilik kazanımının belirli bir kapsamı vardır
Proxy tarafındaki sorgu, bu isteğin hedef adının yerelde sorgulanmasını önler. SOCKS’u şifrelemez, proxy’nin şifreli DNS kullandığını kanıtlamaz ve diğer uygulamalarla tarayıcının önceden getirme trafiğini yönlendirmez. SOCKS desteği olan Requests de aynı yerel ve proxy tarafı ayrımını kullanır; diğer istemciler curl’ün URL yazımı yerine bir ayar sunabilir. SOCKS5 proxy listesinden uç nokta kopyalamadan önce uygulamanızın desteklediği bir protokol seçin.