Server SOCKS5 dapat menerima koneksi TCP tetapi tetap menolak permintaan untuk mencapai tujuan. Baca balasan pada tahap yang benar sebelum memutuskan endpoint mana yang gagal.

Pemilihan metode berlangsung lebih dahulu. Autentikasi nama pengguna dan kata sandi, jika dipilih, memiliki hasil sendiri. Baru sesudahnya server memberi balasan CONNECT atau perintah SOCKS lain. Nilai byte suatu tahap tidak boleh ditafsirkan memakai tabel tahap lain.

Balasan permintaan membedakan kegagalan

Nilai balasanArti dalam balasan permintaan SOCKS5
0x01Kegagalan umum server.
0x02Koneksi tidak diizinkan oleh aturan.
0x03Jaringan tidak dapat dijangkau.
0x04Host tidak dapat dijangkau.
0x05Koneksi ditolak.
0x06TTL kedaluwarsa.
0x07Perintah tidak didukung.
0x08Jenis alamat tidak didukung.

Misalnya, penolakan pada tingkat permintaan dilaporkan setelah mencapai layanan SOCKS. Ini berbeda dari sistem operasi menolak koneksi TCP awal ke layanan tersebut.

Kesalahan jenis alamat dapat menyangkut representasi IPv4, IPv6, atau nama host. Ini tidak otomatis berarti seluruh endpoint tidak mendukung SOCKS5. Demikian pula, perintah UDP yang tidak didukung tidak menyimpulkan apa pun secara pasti tentang permintaan TCP CONNECT terpisah.

Kumpulkan konteks agar kode berguna

Saat menulis laporan kesalahan, simpan alamat proksi, perintah, host dan port tujuan, keluarga alamat, serta mode DNS bersama hasilnya. Log kebijakan sisi server berguna jika Anda mengelola endpoint. Penolakan aturan berarti perlu memeriksa izin yang berlaku, bukan menambah batas waktu koneksi.

Balasan adalah laporan server, bukan diagnosis independen lengkap atas jaringan tujuan. Kata-kata klien juga berbeda. Catat tahap dan balasan dasarnya jika tersedia alih-alih hanya mengandalkan pesan kesalahan terjemahan singkat.

Artikel terkait