SOCKS5 সংযোগ ব্যর্থতার কোড পড়া
SOCKS5 ত্রুটি বুঝুন
SOCKS5 সার্ভার TCP সংযোগ গ্রহণ করেও গন্তব্যে পৌঁছানোর অনুরোধ প্রত্যাখ্যান করতে পারে। কোন এন্ডপয়েন্ট ব্যর্থ হয়েছে তা ঠিক করার আগে সঠিক ধাপের উত্তর পড়ুন।
প্রথমে পদ্ধতি বেছে নেওয়া হয়। ব্যবহারকারীর নাম ও পাসওয়ার্ডের প্রমাণীকরণ বাছলে তার নিজস্ব ফল থাকে। তার পরেই সার্ভার CONNECT বা অন্য SOCKS কমান্ডের উত্তর দেয়। এক ধাপের বাইট মান অন্য ধাপের সারণি দিয়ে ব্যাখ্যা করা যায় না।
অনুরোধের উত্তর বিভিন্ন ব্যর্থতা আলাদা করে
| উত্তরের মান | SOCKS5 অনুরোধের উত্তরে অর্থ |
|---|---|
| 0x01 | সাধারণ সার্ভার ব্যর্থতা। |
| 0x02 | নিয়মসমষ্টি সংযোগ অনুমোদন করে না। |
| 0x03 | নেটওয়ার্কে পৌঁছানো যায় না। |
| 0x04 | হোস্টে পৌঁছানো যায় না। |
| 0x05 | সংযোগ প্রত্যাখ্যাত। |
| 0x06 | TTL শেষ হয়েছে। |
| 0x07 | কমান্ড সমর্থিত নয়। |
| 0x08 | ঠিকানার ধরন সমর্থিত নয়। |
উদাহরণস্বরূপ, অনুরোধ-স্তরের প্রত্যাখ্যান SOCKS পরিষেবায় পৌঁছানোর পর জানানো হয়। অপারেটিং সিস্টেম ওই পরিষেবায় প্রাথমিক TCP সংযোগ প্রত্যাখ্যান করলে তা আলাদা।
ঠিকানার ধরনের ত্রুটি IPv4, IPv6 বা হোস্টনামের উপস্থাপনা নিয়ে হতে পারে। এর অর্থ স্বয়ংক্রিয়ভাবে পুরো এন্ডপয়েন্ট SOCKS5 সমর্থন করে না এমন নয়। একইভাবে অসমর্থিত UDP কমান্ড আলাদা TCP CONNECT অনুরোধ সম্পর্কে নিশ্চিত সিদ্ধান্ত দেয় না।
কোডকে অর্থবহ করে এমন প্রেক্ষাপট সংগ্রহ করুন
ত্রুটির প্রতিবেদন লেখার সময় ফলাফলের সঙ্গে প্রক্সি ঠিকানা, কমান্ড, লক্ষ্য হোস্ট ও পোর্ট, ঠিকানা পরিবার এবং DNS মোড রাখুন। এন্ডপয়েন্ট পরিচালনা করলে সার্ভারের নীতি লগ উপকারী। নিয়মে প্রত্যাখ্যান হলে প্রযোজ্য অনুমতি পরীক্ষা করতে হবে, সংযোগের সময়সীমা বাড়াতে নয়।
উত্তরটি সার্ভারের প্রতিবেদন, লক্ষ্য নেটওয়ার্কের পূর্ণ স্বাধীন নির্ণয় নয়। ক্লায়েন্টের ভাষাও বদলাতে পারে। সম্ভব হলে ধাপ ও মূল উত্তর নথিবদ্ধ করুন; শুধু ছোট অনূদিত ত্রুটি বার্তার ওপর নির্ভর করবেন না।