Վավեր պրոքսի հասցեն ձեռքով գրված SOCKS հաղորդագրությունը վավեր չի դարձնում։ C կամ C++ կառուցվածք ուղարկելը կարող է ուղարկել լցոնում կամ հոսթի կարգով ամբողջ թվեր, որոնք արձանագրությունը երբեք չի պահանջել։

SOCKS5 դոմենային անվամբ CONNECT հարցման համար սերիալացրեք այս հաջորդականությունը բացահայտորեն մեթոդի բանակցությունից և ընտրված ցանկացած նույնականացումից հետո։

  1. Տարբերակ, հրաման, վերապահված բայթ և հասցեի տեսակ
  2. Դոմենի երկարությունը և դոմենի բայթերը
  3. Երկու բայթանոց նպատակակետ պորտը ցանցային բայթերի կարգով

Հասցեների երկարությունները կախված են SOCKS տարբերակից և հասցեի տեսակից։ Ֆիքսված լայնության թվային դաշտերը պահանջում են իրենց սահմանված ներկայացումը. դոմենային տողերն ունեն իրենց երկարության կոդավորումը։ C տողի ավարտիչը ընդհանուր հրահանգ չէ ցանցային հաղորդագրությանը զրո ավելացնելու համար։

Իրականացման կարճ ճանապարհՍտուգման ենթակա խնդիր
32-բիթ արժեք վերագրել 8-բիթ ցուցիչի միջոցովԱյն չի արտածում բոլոր չորս բայթերը
Բուֆերը ձուլել ավելի մեծ ամբողջ թվի ցուցիչիՀավասարեցումը և բայթերի կարգը դեռ պետք է մշակվեն
Ենթադրել, որ մեկ ընթերցումը կամ գրառումը մեկ հաղորդագրություն էTCP-ն կարող է փոխանցել արձանագրության հաջորդականության միայն մի մասը

Համեմատեք յուրաքանչյուր դաշտ նախատեսված նպատակակետի հետ և մշակեք մասնակի I/O-ն։ Երկու բայթ ստանալը չի ապացուցում, որ ամբողջ պատասխանը հասել է։ Այդ սահմանների ստուգումը կարող է տարբերակել աղավաղված հարցումը ճիշտ նկարագրված կապը մերժող սերվերից։

Առնչվող հոդվածներ