เซิร์ฟเวอร์ SOCKS5 อาจรับการเชื่อมต่อ TCP แต่ยังปฏิเสธคำขอไปยังปลายทางได้ อ่านคำตอบในขั้นตอนที่ถูกต้องก่อนตัดสินว่าจุดใดล้มเหลว

เริ่มจากการเลือกวิธี หากเลือกการยืนยันตัวตนด้วยชื่อผู้ใช้และรหัสผ่าน จะมีผลลัพธ์ของขั้นตอนนั้นเอง จากนั้นเซิร์ฟเวอร์จึงตอบ CONNECT หรือคำสั่ง SOCKS อื่น ไม่สามารถใช้ตารางของอีกขั้นตอนมาตีความค่าไบต์ของขั้นตอนหนึ่งได้

คำตอบของคำขอแยกประเภทความล้มเหลว

ค่าคำตอบความหมายในคำตอบของคำขอ SOCKS5
0x01เซิร์ฟเวอร์ล้มเหลวทั่วไป
0x02ชุดกฎไม่อนุญาตการเชื่อมต่อ
0x03เข้าถึงเครือข่ายไม่ได้
0x04เข้าถึงโฮสต์ไม่ได้
0x05การเชื่อมต่อถูกปฏิเสธ
0x06TTL หมดอายุ
0x07ไม่รองรับคำสั่ง
0x08ไม่รองรับชนิดที่อยู่

ตัวอย่างเช่น การปฏิเสธระดับคำขอจะรายงานหลังเข้าถึงบริการ SOCKS แล้ว ต่างจากระบบปฏิบัติการปฏิเสธการเชื่อมต่อ TCP เริ่มต้นไปยังบริการนั้น

ข้อผิดพลาดชนิดที่อยู่อาจเกี่ยวกับรูปแบบ IPv4, IPv6 หรือชื่อโฮสต์ ไม่ได้หมายความโดยอัตโนมัติว่าปลายทางทั้งหมดไม่รองรับ SOCKS5 เช่นเดียวกัน คำสั่ง UDP ที่ไม่รองรับไม่ได้ให้ข้อสรุปแน่ชัดเกี่ยวกับคำขอ TCP CONNECT แยกต่างหาก

รวบรวมบริบทที่ทำให้รหัสมีประโยชน์

เมื่อเขียนรายงานข้อผิดพลาด ให้เก็บที่อยู่พร็อกซี คำสั่ง โฮสต์และพอร์ตเป้าหมาย ตระกูลที่อยู่ และโหมด DNS ไว้กับผลลัพธ์ บันทึกนโยบายฝั่งเซิร์ฟเวอร์มีประโยชน์เมื่อคุณดูแลปลายทาง การปฏิเสธจากกฎควรนำไปสู่การตรวจสิทธิ์ที่ใช้ ไม่ใช่เพิ่มเวลารอเชื่อมต่อ

คำตอบเป็นรายงานของเซิร์ฟเวอร์ ไม่ใช่การวินิจฉัยเครือข่ายปลายทางอย่างครบถ้วนและเป็นอิสระ ถ้อยคำของไคลเอนต์ก็ต่างกัน บันทึกขั้นตอนและคำตอบต้นฉบับเมื่อมี แทนการพึ่งเพียงข้อความผิดพลาดสั้น ๆ ที่แปลแล้ว

บทความที่เกี่ยวข้อง