C struct ஒரு மோசமான SOCKS கோரிக்கையை உருவாக்கக்கூடிய காரணம்
கம்பைலர் அமைப்பை வயர் வடிவமாகக் கருதாமல் வெளிப்படையான புல அகலங்கள், பைட் வரிசை மற்றும் ஸ்ட்ரீம் I/O ஆகியவற்றை ஆய்வு செய்யுங்கள்.
செல்லுபடியாகும் ப்ராக்ஸி முகவரி கையால் எழுதப்பட்ட SOCKS செய்தியை செல்லுபடியாக்காது. C அல்லது C++ struct அனுப்புவது நெறிமுறை ஒருபோதும் கேளாத பேடிங் அல்லது ஹோஸ்ட் வரிசை முழு எண்களை அனுப்பக்கூடும்.
SOCKS5 டொமைன்-பெயர் CONNECT கோரிக்கைக்கு, முறை பேச்சுவார்த்தை மற்றும் தேர்ந்தெடுக்கப்பட்ட எந்த அங்கீகாரத்திற்கும் பிறகு இந்த வரிசையை வெளிப்படையாக வரிசைப்படுத்துங்கள்:
- பதிப்பு, கட்டளை, ஒதுக்கப்பட்ட பைட் மற்றும் முகவரி வகை
- டொமைன் நீளம் மற்றும் டொமைன் பைட்டுகள்
- நெட்வொர்க் பைட் வரிசையில் இரண்டு பைட் இலக்கு போர்ட்
முகவரி நீளங்கள் SOCKS பதிப்பு மற்றும் முகவரி வகையைப் பொறுத்தது. நிலையான அகல எண் புலங்களுக்கு அவற்றின் குறிப்பிட்ட பிரதிநிதித்துவம் தேவை; டொமைன் சரங்களுக்கு அவற்றின் சொந்த நீள குறியீட்டு முறை உள்ளது. C சர முடிவு வயர் செய்தியில் பூஜ்ஜியத்தைச் சேர்ப்பதற்கான பொதுவான அறிவுறுத்தல் அல்ல.
| செயல்படுத்தலின் குறுக்குவழி | சரிபார்க்க வேண்டிய சிக்கல் |
|---|---|
| 8-பிட் சுட்டி வழியாக 32-பிட் மதிப்பை ஒதுக்குதல் | நான்கு பைட்டுகளையும் வெளியிடுவதில்லை |
| இடையகத்தை பெரிய முழு எண் சுட்டியாக மாற்றுதல் | சீரமைப்பு மற்றும் பைட் வரிசை இன்னும் கையாளப்பட வேண்டும் |
| ஒரு படிப்பு அல்லது எழுத்து ஒரு செய்தி என்று கருதுதல் | TCP நெறிமுறை வரிசையின் ஒரு பகுதியை மட்டுமே மாற்ற முடியும் |
ஒவ்வொரு புலத்தையும் நோக்கமிட்ட இலக்குடன் ஒப்பிட்டு பகுதி I/O ஐ கையாளுங்கள். இரண்டு பைட்டுகள் பெற்றால் முழு பதிலும் வந்துவிட்டது என்பதற்கு ஆதாரம் இல்லை. அந்த எல்லைகளை ஆய்வு செய்வது தவறான கோரிக்கையையும் சரியாக விவரிக்கப்பட்ட இணைப்பை நிராகரிக்கும் சேவையகத்தையும் வேறுபடுத்தும்.