SOCKS5 სერვერმა შეიძლება მიიღოს TCP კავშირი, მაგრამ მაინც უარყოს სამიზნემდე მიღწევის მოთხოვნა. სანამ გადაწყვეტთ, რომელი საბოლოო წერტილი ჩავარდა, პასუხი სწორ ეტაპზე წაიკითხეთ.

ჯერ მეთოდი ირჩევა. მომხმარებლის სახელითა და პაროლით ავთენტიფიკაციას, თუ არჩეულია, საკუთარი შედეგი აქვს. მხოლოდ ამის შემდეგ აბრუნებს სერვერი CONNECT-ის ან სხვა SOCKS ბრძანების პასუხს. ერთი ეტაპის ბაიტის მნიშვნელობა მეორე ეტაპის ცხრილით არ უნდა აიხსნას.

მოთხოვნის პასუხები სხვადასხვა შეცდომას განასხვავებს

პასუხის მნიშვნელობამნიშვნელობა SOCKS5 მოთხოვნის პასუხში
0x01სერვერის ზოგადი შეცდომა.
0x02კავშირი წესების ნაკრებით დაშვებული არ არის.
0x03ქსელი მიუწვდომელია.
0x04ჰოსტი მიუწვდომელია.
0x05კავშირი უარყოფილია.
0x06TTL ვადა ამოიწურა.
0x07ბრძანება მხარდაჭერილი არ არის.
0x08მისამართის ტიპი მხარდაჭერილი არ არის.

მაგალითად, მოთხოვნის დონეზე უარყოფა SOCKS სერვისამდე მიღწევის შემდეგ იტყობინება. ეს განსხვავდება ოპერაციული სისტემის მიერ ამ სერვისთან საწყისი TCP კავშირის უარყოფისგან.

მისამართის ტიპის შეცდომა შეიძლება IPv4, IPv6 ან ჰოსტის სახელის წარმოდგენას ეხებოდეს. ეს ავტომატურად არ ნიშნავს, რომ მთელი ბოლო წერტილი SOCKS5-ს არ უჭერს მხარს. ასევე, მხარდაუჭერელი UDP ბრძანება ცალკე TCP CONNECT მოთხოვნაზე საბოლოო დასკვნას არ იძლევა.

შეაგროვეთ კონტექსტი, რომელიც კოდს სასარგებლოს ხდის

შეცდომის ანგარიშის წერისას შედეგთან ერთად შეინახეთ პროქსის მისამართი, ბრძანება, სამიზნე ჰოსტი და პორტი, მისამართების ოჯახი და DNS რეჟიმი. თუ ბოლო წერტილს მართავთ, სერვერის პოლიტიკის ჟურნალები სასარგებლოა. წესებით უარყოფა შესაბამისი ნებართვის შემოწმების მიზეზია და არა კავშირის ტაიმაუტის გაზრდის.

პასუხი სერვერის ანგარიშია და არა სამიზნე ქსელის სრული დამოუკიდებელი დიაგნოზი. კლიენტების ტექსტიც განსხვავდება. როცა შესაძლებელია, ჩაიწერეთ ეტაპი და საფუძვლად არსებული პასუხი, ნაცვლად იმისა, რომ მხოლოდ მოკლე თარგმნილ შეცდომის შეტყობინებას დაეყრდნოთ.

დაკავშირებული სტატიები