SOCKS5 Proxy: Pengertian, Fungsi, Kelebihan & Cara Menggunakannya
SOCKS5 sering muncul ketika sebuah aplikasi membutuhkan proxy yang lebih fleksibel daripada koneksi HTTP biasa. Browser bisa menggunakannya, tetapi penggunaan SOCKS5 tidak berhenti di aktivitas web saja.
Protokol ini dapat menjadi perantara untuk koneksi TCP dan juga mendukung relaying UDP. SOCKS5 juga mempunyai mekanisme pemilihan autentikasi, sehingga server dapat meminta client melakukan verifikasi sebelum koneksi diteruskan.
Karena bekerja lebih umum di tingkat koneksi, SOCKS5 proxy banyak ditemukan pada software networking, automation, browser, aplikasi desktop, sampai sistem yang perlu meneruskan berbagai jenis traffic melalui satu proxy.
Kalau ingin melihat SOCKS5 dalam konteks kategori proxy yang lebih luas, baca juga panduan jenis-jenis proxy.
Apa Itu SOCKS5 Proxy?
SOCKS5 proxy adalah server proxy yang menggunakan SOCKS Protocol Version 5 untuk meneruskan koneksi antara client dan server tujuan.
Berbeda dengan HTTP proxy yang lebih dekat dengan traffic web, SOCKS5 bekerja sebagai perantara koneksi yang lebih umum. Client memberi tahu proxy ke alamat mana ia ingin terhubung, kemudian proxy mencoba membuat koneksi tersebut atas nama client.
Spesifikasi teknis SOCKS5 dijelaskan dalam RFC 1928 — SOCKS Protocol Version 5.
Bagaimana Cara Kerja SOCKS5?
Ada beberapa tahap sebelum data aplikasi benar-benar mulai diteruskan. Client dan proxy perlu menyepakati metode koneksi terlebih dahulu.
1. Client Terhubung ke Server SOCKS5
Aplikasi membuka koneksi ke alamat IP dan port SOCKS5 proxy.
Misalnya:
203.0.113.20:1080
Alamat IP menunjukkan server proxy, sedangkan port menentukan layanan SOCKS5 yang menerima koneksi.
Kalau ingin memahami bagian alamat IP dan port lebih jauh, lihat artikel apa itu IP proxy.
2. Client dan Proxy Menentukan Metode Autentikasi
SOCKS5 mempunyai tahap negosiasi metode. Client memberi tahu metode autentikasi apa yang didukung, lalu server memilih salah satunya.
Server bisa saja tidak membutuhkan autentikasi sama sekali. Dalam konfigurasi lain, pengguna harus memasukkan username dan password.
Menawarkan Metode
Memilih Metode
Salah satu mekanisme username/password untuk SOCKS5 dijelaskan dalam RFC 1929 — Username/Password Authentication for SOCKS V5.
3. Client Mengirim Tujuan Koneksi
Setelah tahap awal selesai, client memberi tahu SOCKS5 proxy server mana yang ingin dihubungi.
Tujuannya bisa diberikan dalam bentuk alamat IPv4, IPv6, atau nama domain, bergantung pada aplikasi dan konfigurasi yang digunakan.
4. Proxy Membuat Koneksi
SOCKS5 proxy mencoba membuat koneksi ke tujuan tersebut. Kalau berhasil, jalur antara client, proxy, dan server tujuan siap digunakan.
5. Data Mulai Diteruskan
Setelah koneksi terbentuk, proxy meneruskan traffic antara kedua sisi.
SOCKS5 Mendukung TCP dan UDP
Salah satu alasan SOCKS5 dianggap fleksibel adalah dukungannya terhadap lebih dari satu pola koneksi.
TCP melalui SOCKS5
Koneksi TCP digunakan oleh banyak aplikasi internet. SOCKS5 dapat menerima permintaan CONNECT dari client lalu membuat koneksi TCP menuju server tujuan.
UDP melalui SOCKS5
SOCKS5 juga menyediakan mekanisme UDP ASSOCIATE untuk relaying datagram UDP.
Namun kemampuan aktual tetap bergantung pada server SOCKS5, aplikasi, dan jaringan yang digunakan. Tidak semua penyedia atau software mengaktifkan fitur yang sama.
Bagaimana dengan DNS di SOCKS5?
SOCKS5 dapat menerima tujuan dalam bentuk nama domain. Artinya, aplikasi tertentu bisa mengirim hostname langsung kepada proxy daripada selalu menyelesaikan DNS menjadi IP terlebih dahulu di perangkat lokal.
Contohnya, aplikasi dapat meminta proxy terhubung ke:
example.com:443
Apakah DNS benar-benar diproses oleh proxy atau masih dilakukan secara lokal bergantung pada aplikasi yang digunakan.
Karena itu, ketika privasi DNS penting, jangan hanya melihat label SOCKS5. Periksa apakah software mempunyai opsi seperti remote DNS atau proxy DNS.
SOCKS5 Tidak Sama dengan Enkripsi
Ini salah satu kesalahpahaman paling umum.
SOCKS5 sendiri bukan protokol enkripsi traffic. Ia menyediakan mekanisme perantara koneksi, bukan tunnel terenkripsi seperti yang biasanya diasosiasikan dengan VPN.
Kalau aplikasi mengakses website HTTPS melalui SOCKS5, HTTPS tetap memberikan enkripsi sesuai koneksi HTTPS tersebut. Tetapi enkripsi itu berasal dari HTTPS, bukan karena SOCKS5 secara otomatis mengenkripsi semua traffic.
SOCKS5 vs HTTP Proxy secara Singkat
Keduanya sama-sama proxy, tetapi bekerja dengan pendekatan yang berbeda.
| Aspek | SOCKS5 | HTTP Proxy |
|---|---|---|
| Fokus | Koneksi yang lebih umum | Traffic HTTP |
| TCP | Didukung | Digunakan untuk koneksi HTTP/Tunneling |
| UDP | Dapat didukung | Bukan fungsi utama HTTP proxy |
| Autentikasi | Mendukung negosiasi metode | Bergantung implementasi HTTP proxy |
| Penggunaan | Aplikasi, networking, automation, browser | Browser, web request, aplikasi HTTP |
Perbandingan protokol lain secara umum sudah dibahas di artikel jenis-jenis proxy.
Apa Kelebihan SOCKS5 Proxy?
Tidak terbatas hanya pada request HTTP sehingga bisa digunakan oleh berbagai aplikasi.
SOCKS5 dapat menjadi perantara untuk koneksi TCP ke server tujuan.
Protokol menyediakan mekanisme UDP ASSOCIATE jika server dan aplikasi mendukungnya.
Server dapat memilih metode autentikasi sebelum koneksi diteruskan.
Client dapat mengirim nama domain sebagai tujuan dalam request SOCKS5.
Banyak browser, tool networking, dan aplikasi menyediakan konfigurasi SOCKS.
Apa Kekurangan SOCKS5?
| Kekurangan | Yang Perlu Diperhatikan |
|---|---|
| Tidak otomatis mengenkripsi traffic | SOCKS5 adalah protokol proxy, bukan protokol enkripsi |
| Tidak semua aplikasi mendukung SOCKS5 | Perlu mengecek pengaturan software yang digunakan |
| Kualitas tergantung server | Proxy lambat tetap menghasilkan koneksi lambat |
| DNS bisa tetap lokal | Bergantung cara aplikasi melakukan resolusi domain |
| IP proxy bisa dibatasi website | Reputasi IP dan kebijakan layanan tetap berpengaruh |
Untuk Apa SOCKS5 Proxy Digunakan?
SOCKS5 cocok ketika aplikasi membutuhkan proxy yang tidak hanya fokus pada HTTP.
Browser yang mendukung SOCKS dapat meneruskan koneksi melalui SOCKS5 proxy.
Aplikasi otomatis dapat menggunakan SOCKS5 sebagai jalur koneksi yang fleksibel.
Tool tertentu mendukung SOCKS5 ketika mengelola request melalui proxy.
Developer dapat menguji koneksi aplikasi menggunakan alamat IP berbeda.
Software yang menyediakan pengaturan SOCKS dapat diarahkan ke server SOCKS5.
Dapat digunakan jika aplikasi dan proxy sama-sama mendukung relaying UDP.
Kegunaan proxy secara lebih luas tersedia di artikel fungsi proxy.
GudangProxy menyediakan daftar proxy gratis yang dapat difilter berdasarkan negara, protokol, dan tingkat anonimitas.
Lihat Daftar Proxy Gratis →Bagaimana Cara Menggunakan SOCKS5 Proxy?
Langkah dasarnya sama pada banyak aplikasi: kamu membutuhkan alamat server SOCKS5, port, dan jika diperlukan username serta password.
socks5://IP:PORT
Contoh:
socks5://203.0.113.20:1080
Kalau proxy membutuhkan autentikasi, beberapa aplikasi menerima format seperti:
socks5://username:[email protected]:1080
Format sebenarnya tetap mengikuti aplikasi yang digunakan. Ada software yang menyediakan kolom IP, port, username, dan password secara terpisah.
1. Siapkan Alamat Proxy
Catat IP atau hostname, port, dan data login jika proxy membutuhkan autentikasi.
2. Pilih SOCKS5 di Aplikasi
Buka pengaturan proxy pada browser atau software, lalu pilih SOCKS5 jika tersedia.
3. Masukkan Server dan Port
Masukkan alamat proxy dan port sesuai data yang tersedia.
4. Masukkan Autentikasi Jika Dibutuhkan
Gunakan username dan password hanya jika server memang memerlukannya.
5. Simpan lalu Uji Koneksi
Setelah konfigurasi tersimpan, coba buka website atau jalankan fungsi aplikasi yang membutuhkan internet.
Bagaimana Mengecek SOCKS5 Sudah Bekerja?
Untuk browsing, cara paling sederhana adalah membandingkan alamat IP sebelum dan setelah proxy aktif.
- Cek IP publik sebelum menggunakan SOCKS5.
- Aktifkan konfigurasi proxy.
- Buka kembali layanan pengecekan IP.
- Bandingkan alamat yang terlihat.
- Pastikan koneksi tetap berjalan normal.
Kalau IP tidak berubah, jangan langsung menyimpulkan server proxy rusak. Bisa saja aplikasi belum menggunakan konfigurasi SOCKS yang benar.
Ingat juga bahwa pengaturan satu aplikasi tidak selalu berlaku untuk seluruh perangkat.
Apakah SOCKS5 Proxy Aman?
Keamanan SOCKS5 sangat bergantung pada konteks penggunaan.
SOCKS5 dapat menyembunyikan IP asli dari server tujuan dalam konfigurasi yang sesuai, tetapi protokolnya sendiri tidak otomatis mengenkripsi seluruh traffic.
Selain itu, operator proxy berada di tengah jalur koneksi. Karena itu, jangan menggunakan public proxy yang tidak jelas pengelolanya untuk aktivitas sensitif seperti perbankan, transaksi penting, atau pengiriman kredensial yang tidak terlindungi.
Tingkat anonimitas proxy juga merupakan hal yang berbeda dari protokol SOCKS5. SOCKS5 bisa saja digunakan pada proxy dengan tingkat anonimitas yang berbeda-beda.
Kalau ingin memahami aspek tersebut, baca artikel proxy anonymous dan tingkat anonimitas.
SOCKS5 Bisa Residential atau Datacenter?
Bisa. Ini penting karena istilah tersebut menjelaskan hal yang berbeda.
SOCKS5 menjelaskan protokol proxy. Residential dan datacenter menjelaskan sumber alamat IP.
Jadi sebuah proxy bisa disebut “SOCKS5 residential proxy” atau “SOCKS5 datacenter proxy” tanpa ada pertentangan istilah.
Kapan SOCKS5 Sebaiknya Dipilih?
| Kebutuhan | SOCKS5 |
|---|---|
| Aplikasi hanya membutuhkan HTTP | Bisa digunakan, tetapi HTTP proxy mungkin sudah cukup |
| Aplikasi membutuhkan koneksi lebih umum | Cocok |
| Membutuhkan TCP | Didukung |
| Membutuhkan UDP | Bisa digunakan jika server dan aplikasi mendukung |
| Butuh autentikasi proxy | SOCKS5 menyediakan negosiasi metode autentikasi |
| Butuh enkripsi seluruh traffic | SOCKS5 saja tidak cukup |
FAQ SOCKS5 Proxy
Apa itu SOCKS5 proxy?
SOCKS5 proxy adalah proxy yang menggunakan SOCKS Protocol Version 5 untuk meneruskan koneksi antara aplikasi client dan server tujuan.
Apakah SOCKS5 mendukung UDP?
Ya. SOCKS5 menyediakan mekanisme UDP ASSOCIATE, tetapi server proxy dan aplikasi yang digunakan harus mendukung fungsi tersebut.
Apakah SOCKS5 mengenkripsi koneksi?
Tidak secara otomatis. SOCKS5 berfungsi sebagai protokol proxy, bukan protokol enkripsi traffic.
Apakah SOCKS5 bisa menggunakan username dan password?
Bisa jika server memilih metode autentikasi yang mendukung username dan password. Mekanisme tersebut dijelaskan dalam RFC 1929.
Apakah SOCKS5 lebih baik daripada HTTP proxy?
Tidak selalu. SOCKS5 lebih fleksibel untuk berbagai jenis koneksi, sedangkan HTTP proxy bisa lebih sederhana jika kebutuhan hanya berhubungan dengan traffic web.
