Asio TCP സോക്കറ്റ് ഒരു SOCKS5 ശ്രോതാവുമായി ബന്ധിപ്പിക്കുന്നത് ഒരു ഘട്ടം മാത്രം പൂർത്തിയാക്കുന്നു: ആ ശ്രോതാവിലേക്കുള്ള TCP ബന്ധം. അത് പ്രോക്സിയോട് അന്തിമ സെർവറുമായി ബന്ധപ്പെടാൻ ആവശ്യപ്പെടുന്നില്ല. അനുവദിക്കപ്പെട്ട പൊതു ലക്ഷ്യ പരിശോധനയ്ക്ക് SOCKS5 പ്രോക്സി പട്ടിക ആ ആദ്യ TCP അന്ത്യബിന്ദുവിന് സ്ഥാനാർത്ഥികൾ നൽകുന്നു; കണക്ടർ താഴെയുള്ള കൈമാറ്റം പൂർത്തിയാക്കണം.

തുടർന്ന് SOCKS5 കണക്ടർ പ്രോട്ടോക്കോൾ കൈമാറ്റം നടത്തണം:

  1. ക്ലയന്റ് പിന്തുണയ്ക്കുന്ന പ്രാമാണീകരണ രീതികൾ ലിസ്റ്റ് ചെയ്യുന്ന രൂപം 5-ന്റെ അഭിവാദ്യം അയയ്ക്കുക.
  2. തിരഞ്ഞെടുത്ത രീതി വായിച്ച് ആവശ്യമുള്ളപ്പോൾ അതിന്റെ പ്രാമാണീകരണ കൈമാറ്റം നടത്തുക.
  3. ലക്ഷ്യത്തിന്റെ വിലാസ തരം, വിലാസം, നെറ്റ്വർക്ക് ബൈറ്റ് ക്രമത്തിലുള്ള പോർട്ട് എന്നിവയോടെ CONNECT അയയ്ക്കുക.
  4. മറുപടി വായിക്കുക, അതിന്റെ രൂപവും ഫല കോഡും പരിശോധിക്കുക, ദൈർഘ്യം മാറുന്ന ബന്ധിത വിലാസവും പോർട്ടും പൂർണ്ണമായി ഉപയോഗിക്കുക.
  5. സ്ഥാപിത സ്ട്രീം ആപ്ലിക്കേഷന്റെ പ്രോട്ടോക്കോളിന് നൽകുക.

socks5::async_proxy_connect എന്ന സഹായി ആ സഹായി നൽകുന്ന SOCKS നിർവ്വഹണത്തിന്റേതാണ്. boost::asio-ന്റെ അരികിൽ അതിനെ പേരിടുന്നത് അതിനെ Asio-യുടെ TCP സോക്കറ്റ് ഇന്റർഫേസിന്റെ ഭാഗമാക്കുന്നില്ല.

TCP വായനകൾ മറുപടിയുടെ ഒരു ഭാഗം മാത്രം തിരികെ നൽകിയേക്കാം. ആവശ്യമായ ബൈറ്റ് എണ്ണങ്ങൾക്ക് വായനകൾ ചേർത്ത്, ബാക്കി ദൈർഘ്യം വിലാസ-തരം ഫീൽഡിൽ നിന്ന് തിരഞ്ഞെടുക്കുക. ഓരോ സെർവർ മറുപടിക്കും സ്ഥിരമായ IPv4 ക്രമീകരണമുണ്ടെന്ന് കരുതരുത്.

HTTPS-ന് SOCKS CONNECT വിജയിച്ചതിന് ശേഷം ലക്ഷ്യത്തിന്റെ TLS ഹാൻഡ്ഷേക്ക് നടത്തുക, ലക്ഷ്യത്തിന്റെ SNI-യും ഹോസ്റ്റ്നാമ പരിശോധനയും നിലനിർത്തി. വിജയകരമായ പ്രോക്സി മറുപടി മാത്രം വെബ്സൈറ്റിനെ പ്രാമാണീകരിക്കുന്നില്ല.

മുഴുവൻ സജ്ജീകരണ ക്രമത്തിലും റദ്ദാക്കലും സമയപരിധികളും നിലനിർത്തുക. TCP ബന്ധം സ്ഥാപിക്കാനുള്ള സമയം കഴിഞ്ഞാൽ പിന്നീടുള്ള അഭിവാദ്യം, പ്രാമാണീകരണം, CONNECT കൈമാറ്റങ്ങൾ പരിധിയില്ലാതെ തുടരും.

അനുബന്ധ ലേഖനങ്ങൾ