ਵੈਧ ਪ੍ਰੌਕਸੀ ਐਡਰੈਸ ਹੱਥ ਨਾਲ ਲਿਖੇ SOCKS ਸੁਨੇਹੇ ਨੂੰ ਵੈਧ ਨਹੀਂ ਬਣਾਉਂਦਾ। C ਜਾਂ C++ struct ਭੇਜਣ ਨਾਲ ਪ੍ਰੋਟੋਕੋਲ ਵੱਲੋਂ ਕਦੇ ਨਾ ਮੰਗੀ ਗਈ ਪੈਡਿੰਗ ਜਾਂ ਹੋਸਟ-ਕ੍ਰਮ ਦੇ ਪੂਰਨ ਅੰਕ ਭੇਜੇ ਜਾ ਸਕਦੇ ਹਨ।

SOCKS5 ਡੋਮੇਨ-ਨਾਮ CONNECT ਬੇਨਤੀ ਲਈ, ਵਿਧੀ ਗੱਲਬਾਤ ਅਤੇ ਚੁਣੀ ਗਈ ਕਿਸੇ ਵੀ ਪ੍ਰਮਾਣਿਕਤਾ ਤੋਂ ਬਾਅਦ ਇਸ ਕ੍ਰਮ ਨੂੰ ਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਸੀਰੀਅਲਾਈਜ਼ ਕਰੋ:

  1. ਵਰਜਨ, ਕਮਾਂਡ, ਰਾਖਵਾਂ ਬਾਈਟ ਅਤੇ ਐਡਰੈਸ ਕਿਸਮ
  2. ਡੋਮੇਨ ਲੰਬਾਈ ਅਤੇ ਡੋਮੇਨ ਬਾਈਟਾਂ
  3. ਨੈੱਟਵਰਕ ਬਾਈਟ ਕ੍ਰਮ ਵਿੱਚ ਦੋ-ਬਾਈਟ ਮੰਜ਼ਿਲ ਪੋਰਟ

ਐਡਰੈਸ ਦੀਆਂ ਲੰਬਾਈਆਂ SOCKS ਵਰਜਨ ਅਤੇ ਐਡਰੈਸ ਕਿਸਮ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ। ਸਥਿਰ ਚੌੜਾਈ ਵਾਲੇ ਸੰਖਿਆਤਮਕ ਫੀਲਡਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਦੀ ਨਿਰਧਾਰਿਤ ਪੇਸ਼ਕਾਰੀ ਚਾਹੀਦੀ ਹੈ; ਡੋਮੇਨ ਸਟਰਿੰਗਾਂ ਦੀ ਆਪਣੀ ਲੰਬਾਈ ਐਨਕੋਡਿੰਗ ਹੈ। C ਸਟਰਿੰਗ ਟਰਮੀਨੇਟਰ ਵਾਇਰ ਸੁਨੇਹੇ ਵਿੱਚ ਜ਼ੀਰੋ ਜੋੜਨ ਦੀ ਆਮ ਹਦਾਇਤ ਨਹੀਂ ਹੈ।

ਲਾਗੂ ਕਰਨ ਦਾ ਛੋਟਾ ਰਾਹਜਾਂਚਣ ਵਾਲੀ ਸਮੱਸਿਆ
8-ਬਿੱਟ ਪੁਆਇੰਟਰ ਰਾਹੀਂ 32-ਬਿੱਟ ਮੁੱਲ ਦੇਣਾਇਹ ਚਾਰੇ ਬਾਈਟ ਨਹੀਂ ਕੱਢਦਾ
ਬਫ਼ਰ ਨੂੰ ਵੱਡੇ ਪੂਰਨ ਅੰਕ ਪੁਆਇੰਟਰ ਵਿੱਚ ਕਾਸਟ ਕਰਨਾਸੰਰੇਖਣ ਅਤੇ ਬਾਈਟ ਕ੍ਰਮ ਅਜੇ ਵੀ ਸੰਭਾਲਣਾ ਪਵੇਗਾ
ਮੰਨ ਲੈਣਾ ਕਿ ਇੱਕ ਪੜ੍ਹਨਾ ਜਾਂ ਲਿਖਣਾ ਇੱਕ ਸੁਨੇਹਾ ਹੈTCP ਪ੍ਰੋਟੋਕੋਲ ਕ੍ਰਮ ਦਾ ਸਿਰਫ਼ ਇੱਕ ਹਿੱਸਾ ਭੇਜ ਸਕਦਾ ਹੈ

ਹਰ ਫੀਲਡ ਦੀ ਤੁਲਨਾ ਇੱਛਤ ਮੰਜ਼ਿਲ ਨਾਲ ਕਰੋ ਅਤੇ ਅੰਸ਼ਿਕ I/O ਸੰਭਾਲੋ। ਦੋ ਬਾਈਟ ਮਿਲਣ ਨਾਲ ਇਹ ਸਾਬਤ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਪੂਰਾ ਜਵਾਬ ਆ ਗਿਆ ਹੈ। ਉਨ੍ਹਾਂ ਸੀਮਾਵਾਂ ਦੀ ਜਾਂਚ ਵਿਗੜੀ ਬੇਨਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਵਰਣਿਤ ਕਨੈਕਸ਼ਨ ਨੂੰ ਰੱਦ ਕਰਨ ਵਾਲੇ ਸਰਵਰ ਤੋਂ ਵੱਖ ਕਰ ਸਕਦੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ