In jildich proxy-adres makket in hânskreaun SOCKS-berjocht net jildich. It stjoeren fan in C- of C++-struktuer kin opfolje of hieltallen yn hostoarder stjoere dy't it protokol nea frege hat.

Foar in SOCKS5 CONNECT-fersyk mei domeinnamme, serialisearje dizze folchoarder eksplisyt nei de metoade-ûnderhanneling en alle keazen autentikaasje:

  1. Ferzje, opdracht, reservearre byte en adrestype
  2. Domeinlingte en domeinbytes
  3. De twa-byte bestimmingspoarte yn netwurk-byte-oarder

Adreslingtes hingje ôf fan de SOCKS-ferzje en it adrestype. Numerike fjilden fan fêste breedte hawwe har spesifisearre foarstelling nedich; domeinstrings hawwe har eigen lingte-kodearring. In C-string-terminator is gjin algemiene ynstruksje om in nul oan it wire-berjocht ta te foegjen.

Koartsluting yn de ymplemintaasjeProbleem om te kontrolearjen
In 32-bit wearde tawize fia in 8-bit pointerIt stjoert net alle fjouwer bytes út
In buffer casten nei in pointer fan in grutter hieltalRjochting en byte-oarder moatte noch behannele wurde
Oannimme dat ien lêzen of skriuwen ien berjocht isTCP kin mar in part fan 'e protokolfolchoarder oerbringe

Fergelykje elk fjild mei de bedoelde bestimming en behannelje partiel I/O. Twa bytes ûntfange bewiist net dat it hiele antwurd oankaam. It besjen fan dy grinzen kin in misfoarme fersyk ûnderskiede fan in server dy't in korrekt beskreaune ferbining wegeret.

Relatearre artikelen