SOCKS4 Proxy: Pengertian, Cara Kerja, Kelebihan & Kekurangan
Ketika mencari proxy untuk sebuah aplikasi, kamu mungkin menemukan pilihan HTTP, SOCKS4, dan SOCKS5. Dari ketiganya, SOCKS4 termasuk protokol yang sudah cukup lama, tetapi masih didukung oleh sejumlah software dan tool jaringan.
SOCKS4 dirancang sebagai perantara untuk koneksi berbasis TCP. Aplikasi tidak berkomunikasi langsung dengan server tujuan, melainkan meminta server SOCKS4 membuat koneksi tersebut terlebih dahulu.
Modelnya lebih sederhana dibanding SOCKS5. Tidak ada dukungan UDP seperti pada SOCKS5 dan kemampuan pengelolaan alamat tujuannya juga lebih terbatas. Walaupun begitu, SOCKS4 masih bisa digunakan ketika aplikasi hanya membutuhkan koneksi TCP sederhana.
Kalau ingin melihat posisi SOCKS4 di antara protokol lainnya, baca juga panduan jenis-jenis proxy.
Apa Itu SOCKS4 Proxy?
SOCKS4 proxy adalah server proxy yang menggunakan SOCKS Protocol Version 4 untuk meneruskan sesi TCP antara client dan server tujuan.
Client dalam konteks ini bisa berupa browser, software desktop, script, atau aplikasi lain yang mempunyai dukungan SOCKS4.
Alih-alih aplikasi membuka koneksi langsung ke server tujuan, aplikasi terhubung ke proxy terlebih dahulu. Server SOCKS4 kemudian mencoba membuat koneksi ke alamat yang diminta.
Konsep perantara seperti ini juga menjadi dasar dari banyak proxy server lainnya, meskipun protokol dan fitur yang tersedia bisa berbeda.
Bagaimana Cara Kerja SOCKS4?
Secara sederhana, prosesnya dimulai ketika aplikasi menghubungi server SOCKS4 dan memberikan informasi mengenai tujuan koneksi.
1. Client Menghubungi SOCKS4 Proxy
Aplikasi sudah dikonfigurasi menggunakan alamat IP dan port proxy.
Contohnya:
203.0.113.20:1080
Alamat di depan merupakan IP proxy, sedangkan angka setelah titik dua adalah port layanan yang akan dihubungi aplikasi.
2. Client Mengirim Tujuan Koneksi
Aplikasi memberi tahu SOCKS4 server ke alamat IPv4 dan port mana koneksi harus diteruskan.
Dalam SOCKS4 standar, alamat tujuan diberikan dalam bentuk IPv4.
3. Proxy Mencoba Membuka Koneksi
Setelah request diterima, SOCKS4 proxy mencoba terhubung ke server tujuan.
Kalau koneksi berhasil, server memberikan response kepada client bahwa jalur sudah dapat digunakan.
4. Data Mulai Diteruskan
Setelah koneksi terbentuk, proxy berada di tengah dan meneruskan data antara aplikasi dengan server tujuan.
SOCKS4 Berfokus pada Koneksi TCP
Salah satu karakteristik utama SOCKS4 adalah penggunaannya untuk sesi TCP.
TCP dipakai oleh banyak layanan internet yang membutuhkan koneksi berurutan dan mempunyai mekanisme untuk memastikan data dapat diterima dengan benar.
SOCKS4 dapat meneruskan sesi TCP antara client dan server tujuan.
SOCKS4 standar tidak menyediakan mekanisme UDP ASSOCIATE seperti SOCKS5.
Kalau aplikasi membutuhkan relaying UDP, dukungan tersebut tersedia pada SOCKS5 proxy, selama server dan aplikasinya memang mendukung fitur tersebut.
Apa Itu CONNECT pada SOCKS4?
CONNECT digunakan ketika client ingin meminta proxy membuat koneksi menuju sebuah server tertentu.
Misalnya aplikasi ingin terhubung ke server pada alamat dan port tertentu. Client mengirim informasi tujuan kepada SOCKS4 proxy, kemudian proxy mencoba membuat koneksi TCP ke alamat tersebut.
Jika permintaan diterima, traffic berikutnya dapat diteruskan melalui koneksi tersebut.
Apa Itu BIND pada SOCKS4?
Selain CONNECT, SOCKS4 juga mempunyai command BIND.
BIND digunakan untuk skenario ketika proxy perlu menunggu koneksi yang datang dari sisi server atau host lain. Penggunaannya jauh lebih spesifik dibanding CONNECT dan tidak selalu dibutuhkan oleh aplikasi biasa.
Buat pengguna proxy sehari-hari, CONNECT biasanya menjadi mekanisme yang lebih mudah ditemui.
Kenapa SOCKS4 Menggunakan IPv4?
Format SOCKS4 standar dibuat dengan alamat tujuan IPv4.
Karena itu, client biasanya perlu mengetahui alamat IPv4 server tujuan sebelum request dikirim kepada proxy.
Untuk penggunaan hostname tanpa harus melakukan resolusi alamat tersebut pada sisi client, kemudian muncul variasi yang dikenal sebagai SOCKS4a.
Apa Itu SOCKS4a?
SOCKS4a adalah pengembangan dari SOCKS4 yang memungkinkan client mengirim nama domain kepada server proxy.
Dengan SOCKS4 standar, aplikasi umumnya menyelesaikan hostname menjadi IPv4 terlebih dahulu. Pada SOCKS4a, hostname dapat dikirim kepada proxy agar proses resolusinya dilakukan melalui server proxy.
Perbedaan ini cukup penting ketika DNS lokal tidak dapat menyelesaikan hostname tujuan atau ketika aplikasi memang ingin resolusi domain dilakukan melalui proxy.
SOCKS4 Tidak Sama dengan SOCKS4a
Walaupun keduanya masih berada dalam keluarga SOCKS versi 4, cara menangani tujuan berbentuk hostname berbeda.
| Aspek | SOCKS4 | SOCKS4a |
|---|---|---|
| Koneksi TCP | Didukung | Didukung |
| IPv4 | Didukung | Didukung |
| Hostname | Biasanya di-resolve client | Dapat dikirim ke proxy |
| Remote DNS | Bukan mekanisme standar | Dapat dilakukan oleh proxy |
Apakah SOCKS4 Mendukung Username dan Password?
SOCKS4 mempunyai field USERID pada request, tetapi protokol ini tidak mempunyai proses negosiasi metode autentikasi seperti yang tersedia pada SOCKS5.
Karena itu, jangan menganggap field USERID sama dengan sistem username/password modern pada SOCKS5.
Implementasi server juga bisa mempunyai aturan autentikasi atau kontrol akses tambahan di luar mekanisme protokol dasarnya.
Apakah SOCKS4 Mengenkripsi Traffic?
Tidak secara otomatis.
SOCKS4 bertugas menjadi perantara koneksi TCP. Protokolnya sendiri bukan sistem untuk mengenkripsi seluruh data yang melewati proxy.
Kalau aplikasi menggunakan protokol terenkripsi seperti HTTPS, perlindungan tersebut berasal dari protokol aplikasinya, bukan karena SOCKS4 mengubah traffic menjadi terenkripsi.
Apakah SOCKS4 Menyembunyikan IP Asli?
Ketika koneksi berjalan melalui proxy, server tujuan dapat menerima koneksi dari alamat IP proxy.
Namun mengganti IP yang terlihat tidak otomatis membuat pengguna anonim sepenuhnya. Tingkat anonimitas tetap dipengaruhi konfigurasi proxy dan informasi apa yang diteruskan.
Cookie, akun login, browser fingerprint, dan data sesi juga berada di luar sekadar pergantian IP.
Kalau bagian ini ingin dipahami lebih jauh, baca panduan proxy anonymous dan tingkat anonimitas.
Apa Kelebihan SOCKS4 Proxy?
SOCKS4 memiliki mekanisme yang relatif sederhana untuk meneruskan sesi TCP.
Sejumlah aplikasi dan library masih menyediakan pilihan SOCKS4.
SOCKS4 bekerja sebagai perantara TCP dan tidak hanya digunakan untuk request HTTP.
Variasi SOCKS4a memungkinkan resolusi hostname dilakukan melalui proxy.
Apa Kekurangan SOCKS4?
| Keterbatasan | Yang Perlu Diperhatikan |
|---|---|
| Tidak mendukung UDP seperti SOCKS5 | Kurang sesuai jika aplikasi membutuhkan UDP relay |
| SOCKS4 standar menggunakan IPv4 | Tidak mempunyai dukungan alamat IPv6 seperti SOCKS5 |
| Hostname lebih terbatas | Gunakan SOCKS4a jika resolusi perlu dilakukan melalui proxy |
| Autentikasi lebih sederhana | Tidak ada negosiasi metode seperti SOCKS5 |
| Tidak otomatis mengenkripsi traffic | Keamanan tetap bergantung pada aplikasi dan protokol lain |
Untuk Apa SOCKS4 Proxy Digunakan?
SOCKS4 paling cocok ketika sebuah aplikasi membutuhkan perantara TCP dan memang menyediakan dukungan untuk protokol tersebut.
Beberapa software lama masih menyediakan SOCKS4 sebagai pilihan proxy.
Dapat digunakan untuk menguji koneksi TCP melalui IP proxy tertentu.
Library tertentu dapat diarahkan melalui SOCKS4 jika hanya membutuhkan koneksi TCP.
Bisa digunakan jika browser atau tool yang dipakai memang mendukung konfigurasi SOCKS4.
Penggunaan proxy secara lebih luas dapat dilihat pada artikel fungsi proxy.
Bagaimana Cara Menggunakan SOCKS4 Proxy?
Data dasar yang dibutuhkan biasanya berupa alamat proxy dan port.
socks4://IP:PORT
Contohnya:
socks4://203.0.113.20:1080
Port 1080 sering digunakan untuk layanan SOCKS, tetapi server dapat dikonfigurasi menggunakan port lain.
1. Siapkan IP dan Port
Ambil alamat proxy yang masih aktif beserta port yang digunakan.
2. Pilih SOCKS4 pada Aplikasi
Buka pengaturan proxy pada software lalu pilih SOCKS4 jika opsi tersebut tersedia.
3. Masukkan IP Proxy
Masukkan alamat server proxy tanpa mencampurkannya dengan alamat server tujuan.
4. Masukkan Port
Pastikan port sesuai dengan layanan SOCKS4 yang sedang berjalan.
5. Simpan dan Uji Koneksi
Coba jalankan koneksi melalui aplikasi. Jika software dapat mengakses layanan tujuan dan IP yang terlihat berubah, konfigurasi kemungkinan sudah bekerja.
Bagaimana Cara Mengecek SOCKS4 Bekerja?
Untuk penggunaan browser, pengecekan paling sederhana dapat dilakukan dengan membandingkan IP sebelum dan setelah proxy aktif.
- Cek IP publik sebelum SOCKS4 digunakan.
- Aktifkan SOCKS4 pada aplikasi.
- Buka kembali layanan pengecekan IP.
- Periksa apakah alamat yang terlihat sudah berubah.
- Pastikan koneksi tetap dapat digunakan.
SOCKS4 atau SOCKS5 untuk Aplikasi Modern?
SOCKS4 masih dapat digunakan kalau aplikasi memang hanya membutuhkan koneksi TCP sederhana.
Namun jika aplikasi membutuhkan fitur seperti UDP, IPv6, domain name dalam protokol, atau metode autentikasi yang lebih fleksibel, SOCKS5 mempunyai kemampuan yang lebih luas.
Untuk detail fitur versi setelahnya, lihat artikel SOCKS5 proxy.
Perbandingan mendalam antara keduanya sengaja tidak dibahas panjang di halaman ini karena akan menjadi artikel tersendiri setelah pembahasan SOCKS4.
GudangProxy menyediakan daftar proxy gratis yang dapat difilter berdasarkan negara, protokol, tingkat anonimitas, dan status koneksi.
Lihat Daftar Proxy Gratis →Kapan SOCKS4 Masih Layak Digunakan?
| Kebutuhan | SOCKS4 |
|---|---|
| Aplikasi hanya membutuhkan TCP | Masih bisa digunakan |
| Software hanya mendukung SOCKS4 | Cocok |
| Butuh UDP | Tidak cocok |
| Butuh IPv6 | Gunakan protokol yang mendukung IPv6 |
| Butuh remote hostname resolution | SOCKS4a dapat dipertimbangkan |
| Butuh autentikasi lebih fleksibel | SOCKS5 biasanya lebih sesuai |
FAQ SOCKS4 Proxy
Apa itu SOCKS4 proxy?
SOCKS4 proxy adalah proxy yang menggunakan SOCKS Protocol Version 4 untuk meneruskan sesi TCP antara aplikasi client dan server tujuan.
Apakah SOCKS4 mendukung UDP?
Tidak dalam SOCKS4 standar. SOCKS4 berfokus pada sesi TCP, sedangkan dukungan UDP tersedia pada SOCKS5 melalui mekanisme yang sesuai.
Apa bedanya SOCKS4 dan SOCKS4a?
SOCKS4 standar biasanya membutuhkan alamat IPv4 tujuan yang sudah diketahui client. SOCKS4a memungkinkan hostname dikirim kepada proxy agar resolusi domain dapat dilakukan melalui proxy.
Apakah SOCKS4 mengenkripsi koneksi?
Tidak secara otomatis. SOCKS4 merupakan protokol proxy untuk meneruskan koneksi TCP, bukan protokol enkripsi seluruh traffic.
Apakah SOCKS4 masih bisa digunakan?
Bisa selama aplikasi dan server proxy masih mendukungnya. Untuk kebutuhan TCP sederhana, SOCKS4 masih dapat bekerja, tetapi aplikasi yang membutuhkan fitur lebih luas biasanya menggunakan SOCKS5.
