SOCKS5 қосылымының сәтсіздік кодтарын оқу
Әр SOCKS қатесін өлі прокси деп санамай, SOCKS келісімі, аутентификация немесе нысанаға қатынаудың қайсысы сәтсіз болғанын анықтаңыз.
SOCKS5 сервері TCP қосылымын қабылдап, нысанаға жету сұрауын бәрібір қабылдамауы мүмкін. Қай соңғы нүкте сәтсіз болғанын шешпес бұрын жауапты дұрыс кезеңде оқыңыз.
Алдымен әдіс таңдалады. Пайдаланушы аты мен құпиясөз арқылы аутентификация таңдалса, оның өз нәтижесі бар. Содан кейін ғана сервер CONNECT немесе басқа SOCKS пәрменінің жауабын қайтарады. Бір кезеңнің байт мәнін басқа кезең кестесімен түсіндіруге болмайды.
Сұрау жауаптары әртүрлі ақауларды ажыратады
| Жауап мәні | SOCKS5 сұрау жауабындағы мағынасы |
|---|---|
| 0x01 | Сервердің жалпы ақауы. |
| 0x02 | Қосылымға ережелер жиыны рұқсат бермейді. |
| 0x03 | Желіге қолжетім жоқ. |
| 0x04 | Хостқа қолжетім жоқ. |
| 0x05 | Қосылым қабылданбады. |
| 0x06 | TTL мерзімі бітті. |
| 0x07 | Пәрменге қолдау көрсетілмейді. |
| 0x08 | Мекенжай түріне қолдау көрсетілмейді. |
Мысалы, сұрау деңгейіндегі қабылдамау SOCKS қызметіне жеткеннен кейін хабарланады. Бұл операциялық жүйенің сол қызметке бастапқы TCP қосылымын қабылдамауынан өзгеше.
Мекенжай түрі қатесі IPv4, IPv6 немесе хост атауының берілуіне қатысты болуы мүмкін. Бұл бүкіл соңғы нүкте SOCKS5-ті қолдамайды дегенді білдірмейді. Сол сияқты қолдау көрсетілмейтін UDP пәрмені бөлек TCP CONNECT сұрауы туралы түпкілікті қорытынды бермейді.
Кодты пайдалы ететін мәнмәтінді жинаңыз
Қате есебін жазғанда нәтижемен бірге прокси мекенжайын, пәрменді, нысана хост пен портты, мекенжай отбасын және DNS режимін сақтаңыз. Соңғы нүктені басқарсаңыз, серверлік саясат журналдары пайдалы. Ережелердің қабылдамауы қосылым күту уақытын арттыруға емес, тиісті рұқсатты тексеруге себеп болады.
Жауап — сервердің есебі, нысана желінің толық тәуелсіз диагностикасы емес. Клиенттердің мәтіні де өзгеше болады. Қысқа аударылған қате хабарламасына ғана сүйенбей, қолжетімді болса кезең мен бастапқы жауапты жазып алыңыз.