curl socks5h ile socks5: ana makine adını kim çözer
Fazladan harf DNS sorgusunu taşır, şifrelemeyi değil. İki biçimi karşılaştırın, sonra hangi ana makine adının hâlâ yerel bir çözümleyiciye ihtiyaç duyduğunu kontrol edin.
İnsanlar socks5h adresini socks5 adresinin daha kolay yazımı sanır ve ikisinin de aynı isteği aynı yere göndereceğini bekler. Fazladan harf bunun yerine DNS sorgusunu taşır. Çözümleyicisi ve proxy'si farklı ağlarda olan bir makinede bu, çalışan bir istek ile başarısız olan arasındaki farktır.
Bir harf, iki çözümleyici
Şema, hedef adının nerede adrese dönüştüğünü belirler. Yerel çözümleme makinenizde yapılandırılmış çözümleyiciyi kullanır. Uzak çözümleme ana makine adını SOCKS isteğinin içine koyar ve proxy onu kendi çözümleyicisi ve ağa kendi bakışıyla arar. İki biçim de hâlâ aynı bağlantı noktasında aynı proxy adresine bağlanır, yani fark yolda değil isteğin gövdesindedir.
Şemada hiçbir şey şifrelemeyi veya kimlik doğrulamayı değiştirmez; yalnızca DNS yolu taşınır. Bu yüzden harfi gözden kaçırmak kolay, yanlış yapmak pahalıdır.
Aynı proxy, farklı istek
İki çağrı tek bir karakterle ayrılır. Geri kalan her şey aynıdır:
curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/The curl proxy başvurusu bu şemaları ayrı ayrı belgeler ve onları takma ad olarak görmemek için yetkili gerekçe budur. İkisini de kullanma izniniz olan zararsız bir uç noktaya karşı çalıştırın ve farkı okuyun. Başarılı bir uzak arama diğer uygulamalar hakkında hiçbir şey söylemez, çünkü tarayıcılar, paket yöneticileri ve dil çalışma ortamları her biri kendisi seçer.
Proxy'nin kendi adı yerel olarak çözülür
O komutta başka bir şey olmadan önce proxy.example adrese dönüşmelidir ve bu arama her zaman yereldir. service.example çözümlemesini proxy'ye taşımak proxy'nin kendi adı için hiçbir şey yapmaz; o ad hâlâ makinenizin ulaşabildiği bir çözümleyiciye ihtiyaç duyar. VPN tabloyu tam burada değiştirir.
Proxy adı yalnızca tünelin içinde çözülüyorsa bağlantı, curl başlamadan önce tünelin ayakta olmasına bağlıdır. Hangi şemanın kazanacağı ise hangi tarafın yanıt verebildiğine bağlıdır. Makineniz hedefi çözemiyor ama proxy çözebiliyorsa socks5 başarısız olur ve socks5h başarılı olur. Makineniz onu tünel üzerinden çözüyor ama proxy çözemiyorsa socks5 çalışır ve socks5h başarısız olur.
Şema proxy'ye giden bağlantıyı VPN'in içine veya dışına koymaz; bunu yönlendirme tablosu yapar ve şema onu asla görmez. Bu yüzden bir tünel aynı makinede bir şemayı düzeltip diğerini bozabilir. Harf yalnızca soruyu kimin sorduğunu belirler.
Her taraf neyi çözebilir
Genel bir proxy yalnızca şirket içinde var olan bir adı çözemez, bu yüzden ana makine adını oraya göndermek proxy'de başarısız olur ve yerel bir DNS hatası yerine proxy hatası olarak görünür. Aynı özel ağın içindeki proxy bu tür adları genellikle çözebilir ve socks5h tam orada değerini kanıtlar. Çözümleyicinin yerini gerçekten ihtiyaç duyduğunuz politikaya göre seçin, çünkü uzak DNS otomatik olarak daha yetenekli değildir ve adı gerçekten üçüncü bir tarafa verir. Genel bir hedef için iki biçim de çalışır, bu yüzden diğer araçlarınızın hâlihazırda kullandığını tercih edin.
Bu seçimi yorum yerine runbook'a yazın ve kimlik bilgilerini paylaşılan geçmişin ve tanılama çıktısının dışında tutun. Sonra her defasında bir değişkeni değiştirin: aynı hedef, aynı ikili, aynı çözümleyici, bir harf.
Hangi ikili yanıt verdi
Aynı makinedeki iki curl ikilisi sürüm ve derleme özelliklerinde farklı olabilir. Unix benzeri bir kabukta type -a curl yoldaki her eşleşmeyi listeler ve curl --version çalışacak olanın özelliklerini gösterir. Yolda daha önce gelen bir sarmalayıcı betik veya takma ad, sonuçların test ettiğinizi sandığınız ikiliyle eşleşmemesinin yaygın bir nedenidir.
Desteklenmeyen bir şema, adı çözemeyen bir proxy ve ulaşılamayan bir hedef üç ayrı hatadır, bu yüzden harfi değiştirmeden önce mesajı okuyun. socks5h sözdizimi olmayan bir derleme proxy dizesini desteklenmiyor olarak bildirir; bu, çözülemeyen bir adla aynı şey değildir. Sistem curl'ü hakkındaki eski bir raporu her platform için kalıcı bir kurala dönüştürmeyin.