Socket.Connect() ला SOCKS सर्व्हरकडे निर्देशित केल्याने त्या सर्व्हरशी TCP कनेक्शन उघडते. पुढील बाइट्स अजूनही SOCKS बोलले पाहिजेत. तुमच्या अनुप्रयोगाचा प्रोटोकॉल लगेच पाठवल्यास सर्व्हर वेगळ्या संभाषणाची वाट पाहत राहतो.

SOCKS5 मध्ये, कनेक्शन स्थापित करण्यात पद्धत वाटाघाटी, निवडलेली प्रमाणीकरण देवाणघेवाण आणि गंतव्याचे नाव देणारी विनंती समाविष्ट आहे. फक्त यशस्वी उत्तर अनुप्रयोगाच्या बाइट्ससाठी मार्ग उघडते. हे टप्पे RFC 1928 मध्ये परिभाषित आहेत.

वाटाघाटी कनेक्शन स्तरात ठेवा

स्वतःच्या TCP प्रोटोकॉलसह अनुप्रयोग प्रॉक्सी-जाणणारा कनेक्टर वापरू शकतो जो स्थापित स्ट्रीम परत करतो. अनुप्रयोगाचा उर्वरित भाग नंतर त्या स्ट्रीममधून वाचतो आणि लिहितो. कनेक्टरने अर्धवट वाचन, बदलत्या लांबीचे पत्ते, प्रमाणीकरण अयशस्वी आणि वाटाघाटीसाठी मुदत विचारात घेतली पाहिजे.

एक निश्चित आकाराचा बफर वाचून यश गृहीत धरणारी हाताने लिहिलेली अंमलबजावणी नाजूक असते. TCP SOCKS संदेशांच्या सीमा जपत नाही. अनुप्रयोग प्रोटोकॉल सुरू करण्यापूर्वी त्याच्या पत्ता प्रकाराने वर्णन केलेले पूर्ण उत्तर वाचा. .NET 7+ CONNECT उत्तर वाचक तो टप्पा स्पष्ट करतो.

देखभाल केलेले लायब्ररी आधीच हा कनेक्शन स्तर पुरवत असल्यास, तिच्या समर्थित SOCKS आवृत्त्या, प्रमाणीकरण पद्धती आणि लक्ष्य फ्रेमवर्क तपासा. दशक जुना फोरम दुवा तपासणीसाठी प्रारंभ बिंदू आहे, सध्याच्या सुसंगततेचा पुरावा नाही.

HTTP क्लायंट कॉन्फिगरेशनची स्वतंत्र व्याप्ती आहे

HTTP क्लायंटची प्रॉक्सी सेटिंग त्या HTTP क्लायंटला कॉन्फिगर करते. ती प्रक्रियेतील प्रत्येक कच्चे सॉकेट बदलत नाही. Socket API नेटवर्क एंडपॉइंट स्वीकारते आणि उच्च-स्तरीय वाटाघाटी कॉलरवर सोडते.

एन्क्रिप्टेड अनुप्रयोग प्रोटोकॉलसाठी, प्रॉक्सी बोगदा स्थापित झाल्यानंतर त्याचा TLS हँडशेक करा. त्या टप्प्यावर हेतू असलेल्या गंतव्याची ओळख सत्यापित करा. प्रॉक्सी प्रमाणीकरण आणि गंतव्य प्रमाणीकरण समान अंतर्निहित स्ट्रीम वापरत असले तरी स्वतंत्र राहतात.

संबंधित लेख