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 горимыг хадгал. Төгсгөлийн цэгийг удирддаг бол серверийн бодлогын бүртгэл хэрэгтэй. Дүрмийн татгалзалт нь холболтын хугацааг уртасгах биш, холбогдох зөвшөөрлийг шалгах шалтгаан.
Хариу нь серверийн мэдээлэл болохоос зорилтот сүлжээний бүрэн бие даасан онош биш. Үйлчлүүлэгчдийн үг хэллэг ч ялгаатай. Боломжтой үед үе шат болон үндсэн хариуг бүртгэж, зөвхөн богино орчуулсан алдааны мэдэгдэлд бүү найд.