SOCKS4 menyertakan string USERID dengan panjang variabel yang diakhiri oleh byte nol. Server menafsirkan pengenal itu sesuai kebijakannya; protokol tidak melanjutkannya dengan subnegosiasi nama pengguna/kata sandi SOCKS5.

Permintaan SOCKS4 CONNECT ke alamat dokumentasi 203.0.113.8, port 443, dengan USERID kosong adalah:

04 01 01 bb cb 00 71 08 00

Byte kesembilan, 0x00, mengakhiri bidang kosong itu. Itu bukan karakter 0, yang nilai ASCII-nya 0x30. Menghilangkannya membuat USERID tidak selesai.

Apa yang diharapkan server

Pengenal kosong bisa sesuai bila layanan tidak memerlukan satu pun. Jika layanan memerlukan pengenal tertentu atau mekanisme akses lain, ikuti kebijakan terdokumentasinya. Nama yang diberikan hanya menetapkan identitas jika server memvalidasinya.

SOCKS4a memperluas penanganan nama host tujuan; ia tidak menambahkan autentikasi SOCKS5. Layanan yang memerlukan akun SOCKS5 membutuhkan klien dan metode yang kompatibel. Menaruh kata sandi di USERID SOCKS4 tidak dapat menggantikan pertukaran itu dan dapat membocorkan kredensial yang tidak terkait.

Untuk penolakan, periksa versi SOCKS, tujuan yang diminta, dan kebijakan pengguna secara terpisah.

Artikel terkait