Эмне үчүн C структурасы жаман SOCKS сурамын жаратышы мүмкүн
Компилятордун жайгашуусун зым форматы деп эсептөөнүн ордуна талаалардын так туурасын, байт тартибин жана агымдык I/Oну текшериңиз.
Жарактуу прокси дареги кол менен жазылган SOCKS билдирүүсүн жарактуу кылбайт. C же C++ структурасын жөнөтүү протокол эч качан сурабаган толуктоону же хост тартибиндеги бүтүн сандарды жөнөтүшү мүмкүн.
SOCKS5 домен аталышы бар CONNECT сурамы үчүн ыкма сүйлөшүүсүнөн жана тандалган кандайдыр бир аутентификациядан кийин бул ырааттуулукту так сериалдаштырыңыз:
- Версия, буйрук, корголгон байт жана дарек түрү
- Домендин узундугу жана домен байттары
- Тармактык байт тартибиндеги эки байттык багыт порту
Даректердин узундугу SOCKS версиясына жана дарек түрүнө жараша болот. Туруктуу туурасы бар сандык талаалар өздөрүнүн белгиленген көрүнүшүн талап кылат; домен саптарынын өз узундук коддоосу бар. C сабынын аяктоочусу зым билдирүүсүнө нөл кошуу боюнча жалпы нускама эмес.
| Ишке ашыруудагы кыска жол | Текшериле турган маселе |
|---|---|
| 32-биттик маанини 8-биттик көрсөткүч аркылуу дайындоо | Ал төрт байттын баарын чыгарбайт |
| Буферди чоңураак бүтүн сан көрсөткүчүнө айландыруу | Тууралоо жана байт тартиби дагы эле иштетилиши керек |
| Бир окуу же жазуу бир билдирүү деп божомолдоо | TCP протокол ырааттуулугунун бир бөлүгүн гана өткөрө алат |
Ар бир талааны көздөлгөн багыт менен салыштырыңыз жана жарым-жартылай I/Oну иштетиңиз. Эки байт алуу бүт жооп келгенин далилдебейт. Ошол чек араларды текшерүү бузулган сурамды туура сүрөттөлгөн байланышты четке каккан серверден ажырата алат.