Найман байт уншаад дараа нь SOCKS4 туннелийг шилжүүл
SOCKS4 хариултын тогтмол хил хязгаарыг шинжлэх замаар очих газрын мэндчилгээг залгих эсвэл байхгүй байтуудыг хүлээхээс зайлсхий.
SOCKS4 холболтын хүсэлт амжилттай болдог ч програмын серверийн нээлтийн мэндчилгээг хэзээ ч хардаггүй. Харах нэг газар бол холбогчийн эхний уншилт юм. Арван зургаан байтын уншилт нь найман байтын SOCKS4 хариултад хэтэрхий том.
| Хариултын талбар | Байт |
|---|---|
| Хариултын хувилбарын талбар | 1 |
| Үр дүнгийн код | 1 |
| Портын талбар | 2 |
| Хаягийн талбар | 4 |
Үр дүнгийн код 0x5a хүсэлтийг зөвшөөрснийг илэрхийлнэ. SOCKS4a нь хүсэлт хостын нэрийг хэрхэн зөөдөг болохыг өөрчилдөг; энэ нь хариултыг арван зургаан байт болгодоггүй.
Хариултын дараа ижил TCP урсгал нь очих газрын протоколыг зөөдөг. Шуудангийн сервер мэндчилгээгээ тэр даруй илгээж болно. Тиймээс арван зургаан боломжтой байтыг зарцуулдаг уншилт нь проксийн бүрэн хариулт бас тэр мэндчилгээний эхний найман байтыг авч болно. Хэрэв одоо хүртэл юу ч дагаагүй бол хэт том блоклох уншилт оронд нь шаардлагагүй хүлээлт нэмж болно.
Яг урт нь задлагчийн хариуцлага
Найман байтыг нэг удаа гуйх нь найман байт ирсэн гэдгийг батлах хангалттай нотолгоо биш. Урсгалын уншилтууд бага буцааж болно. Хариултын уртыг хугацаанд нь яг таг цуглуул, хаагдсан эсвэл бүтэлгүй урсгалд зогсо, хариултыг шалга, дараагийн байтуудыг програмд үлдээ.
Хэрэв холбогч илүү том буферт уншилт ашигладаг бол хилийн дараах бүхнийг хадгалж дараагийн хэрэглэгчид дамжуул. Илүүг хаях нь өөр уншилтын хэмжээтэй ижил өгөгдлийн алдагдал юм.
SOCKS5-д өөрийн задлагч хэрэгтэй. Түүний хариултын хаягийн урт хаягийн төрлөөс хамаарч өөр байж болно. Проксийн уншилт бүрийг тогтмол найман байтын уншилтаар солих нь нэг протоколыг засаж нөгөөг эвдэнэ.