Proxy helbide baliozkoa izateak ez du eskuz idatzitako SOCKS mezua baliodun egiten. C edo C++ struct bat bidaltzeak protokoloak inoiz eskatu ez zuen betegarria edo ostalari-ordenean dauden osokoak bidal ditzake.

SOCKS5 domeinu-izeneko CONNECT eskaera baterako, serializatu segida hau modu esplizituan metodoaren negoziazioaren eta hautatutako autentifikazioaren ondoren:

  1. Bertsioa, komandoa, erreserbatutako bytea eta helbide mota
  2. Domeinuaren luzera eta domeinuaren byteak
  3. Bi byteko helburuko ataka sareko byte-ordenan

Helbideen luzerak SOCKS bertsioaren eta helbide motaren araberakoak dira. Zabalera finkoko eremu numerikoek beren irudikapen zehaztua behar dute; domeinu-kateek beren luzera-kodifikazioa dute. C katearen terminatzailea ez da sare-mezuari zero bat eransteko argibide orokorra.

Inplementazio-laburreraEgiaztatu beharreko arazoa
32 biteko balioa 8 biteko erakusle baten bidez esleitzeaEz ditu lau byteak igortzen
Buffer bat osoko handiago baten erakuslera bihurtzeaLerrokatzea eta byte-ordena oraindik kudeatu behar dira
Irakurketa edo idazketa bat mezu bat dela suposatzeaTCPk protokolo-segidaren zati bat baino ezin du transferitu

Konparatu eremu bakoitza xede den helmugarekin eta kudeatu I/O partziala. Bi byte jasotzeak ez du frogatzen erantzun osoa iritsi denik. Muga horiek aztertzeak eskaera gaizki eratua eta behar bezala deskribatutako konexio bat ukatzen duen zerbitzaria bereiz ditzake.

Erlazionatutako artikuluak