Сегиз байтты окуп, анан SOCKS4 туннелин өткөрүп бер
SOCKS4 жообунун бекитилген чегин талдоо менен багыттын саламын жутуп алуудан же жок байттарды күтүүдөн кач.
SOCKS4 туташуу сурамы ийгиликтүү аткарылат, бирок колдонмо сервердин киришүү саламын эч качан көрбөйт. Карай турган бир жер — туташтыргычтын биринчи окуусу. Он алты байттык окуу сегиз байттык SOCKS4 жообу үчүн өтө чоң.
| Жооп талаасы | Байт |
|---|---|
| Жооп версиясынын талаасы | 1 |
| Жыйынтык коду | 1 |
| Порт талаасы | 2 |
| Дарек талаасы | 4 |
Жыйынтык коду 0x5a сурам канааттандырылганын көрсөтөт. SOCKS4a сурамдын хост атын кантип алып жүрөрүн өзгөртөт; ал жоопту он алты байтка айландырбайт.
Жооптон кийин ошол эле TCP агымы багыттын протоколун алып жүрөт. Почта сервери саламын дароо жөнөтүшү мүмкүн. Ошондуктан он алты жеткиликтүү байтты керектеген окуу проксинин толук жообун жана ошол саламдын алгачкы сегиз байтын алып кетиши мүмкүн. Эгер азырынча эч нерсе уланбаса, өтө чоң бөгөттөгүч окуу анын ордуна ашыкча күтүүнү кошот.
Так узундук — талдоочунун жоопкерчилиги
Сегиз байтты бир жолу суроо сегиз байт келгенине жетиштүү далил эмес. Агым окуулары азыраак кайтарышы мүмкүн. Жооптун узундугун мөөнөт ичинде так жыйна, жабылган же ийгиликсиз агымда токто, жоопту текшер жана кийинки байттарды колдонмого калтыр.
Эгер туташтыргыч чоңураак буфердик окууну колдонсо, чектен кийинкинин баарын сактап, кийинки керектөөчүгө бер. Ашыкчаны таштоо — башка окуу өлчөмү менен ошол эле маалымат жоготуу.
SOCKS5 өзүнүн талдоочусун талап кылат. Анын жооп дарегинин узундугу дарек түрүнө жараша ар башка болушу мүмкүн. Ар бир прокси окуусун бекитилген сегиз байттык окуу менен алмаштыруу бир протоколду оңдоп, экинчисин бузат.