कनेक्ट हुक ही सेशन धोरण आहे, पॅकेट फिल्टर नाही
क्लायंट कनेक्ट हुक प्रत्येक सेशनमध्ये एकदा चालतो आणि पेलोड कधीही पाहत नाही. प्रवेश तिथे ठेवा जिथे सेशन आहेत, आणि सामग्री बदल तिथे जिथे विनंत्या आहेत.
कोणाला क्लायंट टनेलमधून काय पाठवतात हे पाहायचे आहे, दस्तऐवजांमध्ये कनेक्ट हुक सापडतो, आणि एकही पॅकेट कधीही न मिळणारी स्क्रिप्ट लिहायला लागतो. हुक खरा आणि उपयुक्त आहे, पण त्याचे कार्य एकक सेशन आहे, बाइट नाही. योग्य घटक निवडणे म्हणजे काम होऊ शकते अशा तीन जागांची तुलना, आणि निर्णायक प्रश्न हा आहे की प्रत्येकाला प्रत्यक्षात कोणते एकक दिसते.
हुक काय घेतो, आणि काय कधीही घेत नाही
प्रमाणित क्लायंट सेशन स्थापित करतो तेव्हा क्लायंट कनेक्ट हुक एकदा चालतो, सर्व्हरच्या प्रक्रिया संदर्भात, दस्तऐवजीकृत आर्ग्युमेंट्स आणि सामान्य नाव व नियुक्त पत्ता यांसारख्या पर्यावरण मूल्यांसह. तो प्रत्येक क्लायंटसाठी संरचना लिहू शकतो, प्रवेश निर्णय घेऊ शकतो, बाह्य संसाधन वाटू शकतो, किंवा जोडणी झाली असे नोंदवू शकतो. जे तो करू शकत नाही ते म्हणजे रहदारीचे निरीक्षण, कारण पहिला पॅकेट टनेल ओलांडेपर्यंत हुक आधीच परतला असतो.
ही टाळायची मर्यादा नाही. प्रवाह प्रक्रिया करण्याचा प्रयत्न करणाऱ्या सेशन कॉलबॅकला जोडणीच्या संपूर्ण आयुष्यभर चालावे लागले असते, आणि डीमनचा स्क्रिप्टिंग करार त्या आकारासाठी बनवलेला नाही. हुक तुमच्या वाटेत आहे असे ठरवण्यापूर्वी तो कशासाठी आहे ते विचारा.
पुन्हा जोडणे देखील महत्त्वाचे आहे. तुटलेला आणि पुन्हा जोडणारा क्लायंट नवीन सेशन आहे, म्हणून हुक जे काही वाटतो ते निष्क्रिय-पुनरावृत्तीय असावे किंवा स्वच्छता करणाऱ्या डिस्कनेक्ट घटनेशी जोडलेले असावे. प्रत्येक पुन्हा जोडणीत गळणारी स्थिती ही हुक आधारित रचनेतील नेहमीची पहिली चूक आहे.
सेशन धोरण हुकमध्येच असते
प्रवेश हे हुकचे नैसर्गिक काम आहे. कोण जोडले, कुठून आणि कोणत्या प्रमाणपत्रासह हे तुम्हाला माहीत आहे, आणि हे सेशन पुढे जावे की नाकारावे हे तुम्ही ठरवू शकता. तो निर्णय स्वस्त आहे, एकदाच होतो, आणि पेलोडचा एकही बाइट पाहण्याची गरज नसते.
संरचना वाटप त्याच आकारात बसते. हुक क्लायंटचा पत्ता निवडू शकतो, त्या ओळखीला योग्य पर्याय पाठवू शकतो, किंवा सर्व्हर या क्लायंटसाठी वाचतो तो तुकडा लिहू शकतो. निर्णय प्रत्येक सेशनसाठी असल्याने, काही चूक झाल्यावर आणि एखाद्या विशिष्ट क्लायंटला विशिष्ट पत्ता का मिळाला हे कोणाला तरी सांगावे लागल्यावरही तो समजण्याजोगा राहतो.
नोंद करणे ही तिसरी जुळणी आहे. सेशन स्वीकारले गेले असे सांगणारी, तिच्या ओळखी आणि वेळेसह असलेली लेखापरीक्षण नोंद नेमकी इथेच येते. ती रहदारी लॉग नाही आणि तशी दाखवण्याचा प्रयत्न करू नये. नंतर कोणी विचारले की क्लायंटने टनेलच्या आत काय केले, तर उत्तर दुसरीकडून यायला हवे.
पॅकेटचे काम पॅकेट मार्गावर
जर गरज उडत्या बाइट पाहण्याची किंवा बदलण्याची असेल, तर घटक फॉरवर्डिंग मार्गावर असावा: रांगेसह फायरवॉल नियम, रहदारी नियंत्रण हुक, किंवा वापरकर्ता जागेतील फॉरवर्डर. त्या यंत्रणा पॅकेट पाहतात, आणि त्यांची स्वतःची स्थिती, स्वतःच्या अयशस्वी होण्याच्या पद्धती आणि स्वतःची कार्यक्षमता प्रोफाइल असते.
त्या स्तरावर पेलोड संपादित करणे तो वाचण्यापेक्षा कठीण आहे. एक बाइट बदलल्याने लांबी क्षेत्र, चेकसम किंवा प्रोटोकॉल स्थिती यंत्र अवैध होऊ शकते, आणि तिसऱ्या स्तराची टनेल यापैकी कशापासूनही तुमचे रक्षण करत नाही. याचा अर्थ फक्त एवढाच की तुम्ही जे हेडर संपादित करता ते बाहेरील हेडर नाहीत. कोणालाही सामग्री पुनर्लेखनाचे वचन देण्यापूर्वी त्या दुरुस्तीचे काम बजेटमध्ये धरा.
इंटरफेस कॅप्चर हे या वर्गातील सर्वात स्वस्त साधन आहे, आणि ते संपादक नाही, निरीक्षण आहे. लोक दोन्हींचा गोंधळ करतात कारण दोन्हींचे वर्णन रहदारी पाहणे असे केले जाते, पण कॅप्चर फाइल तयार करते आणि पॅकेट मार्ग निर्णय तयार करतो.
अॅप्लिकेशन बदल अॅप्लिकेशनमध्येच
जेव्हा ध्येय विनंतीत काय आहे किंवा प्रतिसाद कसा तयार होतो हे बदलणे असेल, तेव्हा योग्य जागा सेवा स्वतः किंवा मुद्दाम प्रोटोकॉल संपवणारा प्रॉक्सी आहे. ते घटक विनंत्या, प्रतिसाद आणि अॅप्लिकेशन जे प्रमाणीकरण अपेक्षिते ते आधीच समजतात, आणि तोच संदर्भ पॅकेट फिल्टरकडे नाही.
पत्ता भाषांतर या यादीत तळाशी आहे काही कारणास्तव. ते पत्ते आणि पोर्ट पुन्हा लिहिते आणि पेलोडला हात लावत नाही, म्हणून ते सामग्रीचे साधन नाही, सामग्रीचाही उल्लेख करणाऱ्या कृतीपाकात कितीही वेळा आले तरी.
या सीमा वेगळ्या ठेवणे हेच रचना स्पष्ट करण्याजोगी करते. हुकमधील सेशन धोरण, पॅकेट मार्गावरील पॅकेट हाताळणी, आणि प्रोटोकॉल मुद्दाम संपतो तिथे अॅप्लिकेशन बदल: पुनरावलोकनासाठी तपासणी यादी म्हणूनही काम करणारी तीन वाक्ये.
जिथे TLS अजूनही संभाषण संपवते
वरच्या सर्व गोष्टींतून एक गोष्ट टिकते: टनेलच्या आत HTTPS वाहणारी रहदारी तिचे स्वतःचे वाहतूक गुप्तलेखन राखते. VPN च्या किल्ल्या असणे तुम्हाला आतील IP पॅकेट देते आणि दुसऱ्या टोकावरील वेबसाइटच्या सेशन किल्ल्या देत नाही.
म्हणूनच हुक तत्त्वतःही सामग्री तपासू शकत नाही, आणि म्हणूनच तैनाती मुद्दाम आतील TLS संपवत नसेल तर पॅकेट मार्ग गुप्तलेखित मजकूर पाहतो. स्क्रिप्टिंग करार हुकला काय दिले जाते ते वर्णन करतो; पेलोडबद्दल काहीही सांगत नाही, कारण देण्यासाठी पेलोड नाही.