Membaca kod kegagalan sambungan SOCKS5
Kenal pasti sama ada rundingan SOCKS, pengesahan atau destinasi gagal sebelum menganggap setiap ralat SOCKS sebagai proksi mati.
Pelayan SOCKS5 boleh menerima sambungan TCP tetapi masih menolak permintaan untuk mencapai destinasi. Baca balasan pada peringkat betul sebelum memutuskan titik akhir yang gagal.
Pemilihan kaedah berlaku dahulu. Pengesahan nama pengguna dan kata laluan, jika dipilih, mempunyai hasil sendiri. Hanya selepas itu pelayan membalas CONNECT atau perintah SOCKS lain. Nilai bait satu peringkat tidak boleh ditafsirkan menggunakan jadual peringkat lain.
Balasan permintaan membezakan kegagalan
| Nilai balasan | Maksud dalam balasan permintaan SOCKS5 |
|---|---|
| 0x01 | Kegagalan umum pelayan. |
| 0x02 | Sambungan tidak dibenarkan oleh set peraturan. |
| 0x03 | Rangkaian tidak dapat dicapai. |
| 0x04 | Hos tidak dapat dicapai. |
| 0x05 | Sambungan ditolak. |
| 0x06 | TTL tamat tempoh. |
| 0x07 | Perintah tidak disokong. |
| 0x08 | Jenis alamat tidak disokong. |
Contohnya, penolakan pada peringkat permintaan dilaporkan selepas mencapai perkhidmatan SOCKS. Ini berbeza daripada sistem pengendalian menolak sambungan TCP awal ke perkhidmatan tersebut.
Ralat jenis alamat boleh melibatkan perwakilan IPv4, IPv6 atau nama hos. Ia tidak semestinya bermakna seluruh titik akhir tiada sokongan SOCKS5. Begitu juga, perintah UDP tidak disokong tidak memberikan kesimpulan pasti tentang permintaan TCP CONNECT berasingan.
Kumpulkan konteks yang menjadikan kod berguna
Semasa menulis laporan ralat, simpan alamat proksi, perintah, hos dan port sasaran, keluarga alamat serta mod DNS bersama hasilnya. Log dasar pelayan berguna jika anda mentadbir titik akhir. Penolakan peraturan memerlukan semakan kebenaran terpakai, bukan peningkatan masa tamat sambungan.
Balasan ialah laporan pelayan, bukan diagnosis bebas yang lengkap bagi rangkaian destinasi. Ungkapan klien juga berbeza. Catat peringkat dan balasan asas jika tersedia dan jangan bergantung hanya pada mesej ralat terjemahan ringkas.