SOCKS5 atau SOCKS5h: di mana DNS diresolusikan?
Bandingkan resolusi DNS lokal dan di proxy dengan curl, telusuri kegagalan resolusi nama, dan pahami batas perlindungan socks5h.
Di curl, pilih socks5h:// bila proxy yang harus meresolusikan nama tujuan. Pilih socks5:// bila curl harus meresolusikannya secara lokal lalu mengirim alamat ke proxy. Keduanya memakai SOCKS5; h di akhir adalah konvensi URL pada klien.
Bandingkan kedua mode dengan mengganti listener lokal menggunakan endpoint SOCKS5 Anda:
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/Yang berubah hanya mode resolusinya. --noproxy '' menghapus aturan bypass proxy untuk pemanggilan ini, dan batas waktu membatasi durasi perbandingan. Opsi khusus yang setara adalah --socks5 dan --socks5-hostname. Gunakan nama host sebagai target: alamat IP yang ditulis langsung tidak memerlukan pencarian nama tujuan dan tidak dapat menunjukkan perbedaan ini.
Sebuah nama bisa hanya dikenal di satu sisi
Misalnya, proxy berjalan di dalam jaringan pengembangan yang DNS-nya mengenal nama layanan internal. Laptop Anda mungkin gagal meresolusikan nama itu dalam mode socks5, sedangkan socks5h membiarkan proxy yang melakukannya. Balik situasinya, dengan nama yang hanya didefinisikan di berkas hosts laptop, dan justru pencarian jarak jauh yang bisa gagal.
DNS publik juga dapat mengembalikan alamat berbeda dari jaringan berbeda. Hasil yang berbeda adalah alasan untuk membandingkan alamat yang dipilih dan keterjangkauannya, bukan langsung mengganti proxy.
- Nama host proxy tidak dapat diresolusikan: tidak satu pun mode bisa dimulai. Klien Anda tetap meresolusikan
proxy.exampledalamsocks5h://proxy.example:1080. - Pencarian lokal tujuan gagal: periksa resolver klien atau bandingkan dengan mode yang mengirim nama host ke proxy.
- Server SOCKS menolak tujuan: periksa balasan dan kebijakannya. Pencarian lokal yang berhasil tidak membuktikan keterjangkauan dari sisi jauh.
- Terowongan bekerja, tetapi verifikasi sertifikat gagal: selidiki TLS tujuan; memilih mode DNS lain bukan perbaikan umum untuk masalah kepercayaan.
Nama uji yang Anda kendalikan dan log server dapat memastikan jenis alamat yang diterima proxy yang Anda kelola. Halaman web penampil IP keluar tidak dapat melakukannya: halaman itu melaporkan koneksi keluar, bukan lokasi resolusi DNS.
Manfaat privasinya memiliki cakupan tertentu
Pencarian di proxy menghindari pencarian lokal nama tujuan untuk permintaan ini. Ini tidak mengenkripsi SOCKS, tidak membuktikan proxy memakai DNS terenkripsi, dan tidak merutekan lalu lintas aplikasi lain atau prapengambilan peramban. Requests dengan dukungan SOCKS memakai pembedaan lokal dan proxy yang sama; klien lain mungkin menyediakan pengaturan alih-alih ejaan URL curl. Pilih protokol yang didukung aplikasi Anda sebelum menyalin endpoint dari daftar proxy SOCKS5.