SOCKS5 bağlantı xəta kodlarını oxuyun
Hər SOCKS xətasını ölü proksi saymazdan əvvəl SOCKS razılaşması, kimlik yoxlaması və ya hədəfin hansının uğursuz olduğunu müəyyən edin.
SOCKS5 serveri TCP bağlantınızı qəbul edib hədəfə çatmaq sorğusunu yenə rədd edə bilər. Hansı son nöqtənin uğursuz olduğunu seçməzdən əvvəl cavabı düzgün mərhələdə oxuyun.
Əvvəl üsul seçilir. İstifadəçi adı/parol yoxlaması seçiləndə öz nəticəsi olur. Yalnız sonra server CONNECT və ya başqa SOCKS əmrinin cavabını verir. Bir mərhələnin bayt dəyərini başqa mərhələnin cədvəli ilə yozmaq olmaz.
Sorğu cavabları müxtəlif xətaları ayırır
| Cavab dəyəri | SOCKS5 sorğu cavabında mənası |
|---|---|
| 0x01 | Ümumi server xətası. |
| 0x02 | Qaydalar dəsti bağlantıya icazə vermir. |
| 0x03 | Şəbəkəyə çatmaq olmur. |
| 0x04 | Hosta çatmaq olmur. |
| 0x05 | Bağlantı rədd edildi. |
| 0x06 | TTL bitdi. |
| 0x07 | Əmr dəstəklənmir. |
| 0x08 | Ünvan növü dəstəklənmir. |
Məsələn, sorğu səviyyəsində rədd SOCKS xidmətinə çatandan sonra bildirilir. Bu, əməliyyat sisteminin həmin xidmətə ilk TCP bağlantısını rədd etməsindən fərqlidir.
Ünvan növü xətası IPv4, IPv6 və ya host adı göstərimi ilə bağlı ola bilər. Bu, bütün son nöqtənin SOCKS5 dəstəyi olmadığı demək deyil. Eyni qaydada dəstəklənməyən UDP əmri ayrıca TCP CONNECT sorğusu barədə qəti nəticə vermir.
Kodu faydalı edən konteksti yığın
Xəta hesabatı yazarkən proksi ünvanını, əmri, hədəf host və portu, ünvan ailəsini və DNS rejimini nəticə ilə saxlayın. Son nöqtəni idarə edirsinizsə server siyasət jurnalları faydalıdır. Qayda rəddi bağlantı timeout-unu artırmağa deyil, uyğun icazəni yoxlamağa əsasdır.
Cavab serverin bildirişidir, hədəf şəbəkənin tam müstəqil diaqnozu deyil. Müştərilərin sözləri də dəyişir. Qısa çevrilmiş xəta mesajına güvənmək əvəzinə mümkün olanda mərhələ və əsas cavabı qeyd edin.