
██╗ ██╗ ██████╗ ████████╗ ██████╗ ██████╗
██║ ██║██╔═══██╗╚══██╔══╝██╔═══██╗██╔══██╗
██║ █╗ ██║██║ ██║ ██║ ██║ ██║██████╔╝
██║███╗██║██║ ██║ ██║ ██║ ██║██╔═══╝
╚███╔███╔╝╚██████╔╝ ██║ ╚██████╔╝██║
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝
WOTOP एक उपकरण है जो किसी भी प्रकार के ट्रैफ़िक को एक मानक HTTP चैनल पर टनल करने के लिए बनाया गया है।
उन परिदृश्यों के लिए उपयोगी जहाँ कोई प्रॉक्सी सभी ट्रैफ़िक को फ़िल्टर करता है, सिवाय मानक HTTP(S) ट्रैफ़िक के। अन्य उपकरणों के विपरीत, जिनके लिए या तो आपको ऐसे प्रॉक्सी के पीछे होना आवश्यक है जो आपको मनमाना ट्रैफ़िक पास करने देता है (संभवतः प्रारंभिक CONNECT अनुरोध के बाद), या ऐसे उपकरण जो केवल SSH के लिए काम करते हैं, यह ऐसी कोई प्रतिबंध नहीं लगाता।
मान लीजिए कि आप SSH का उपयोग करके एक दूरस्थ मशीन से कनेक्ट करना चाहते हैं जहाँ आपके पास रूट विशेषाधिकार नहीं हैं।
7 संस्थाएँ होंगी:
अगर कोई प्रॉक्सी नहीं होता, तो संचार कुछ इस प्रकार होता:
क्लाइंट -> क्लाइंट SSH प्रक्रिया -> लक्ष्य सर्वर -> लक्ष्य SSH प्रक्रिया
इस परिदृश्य में, यहाँ प्रस्तावित विधि है:
क्लाइंट -> क्लाइंट SSH प्रक्रिया -> क्लाइंट WOTOP प्रक्रिया -> प्रॉक्सी -> लक्ष्य WOTOP प्रक्रिया -> लक्ष्य SSH प्रक्रिया -> लक्ष्य सर्वर
WOTOP केवल सभी डेटा को HTTP पैकेटों में लपेटता है, और उन्हें उचित रूप से बफ़र करता है।
एक और भी जटिल परिदृश्य यह होगा कि यदि आपके पास एक बाहरी उपयोगिता सर्वर है, और आपको प्रॉक्सी के पीछे से किसी अन्य सर्वर के संसाधनों तक पहुँचने की आवश्यकता है। इस मामले में, wotop अभी भी आपके बाहरी सर्वर पर चलेगा, लेकिन दूसरे कमांड (उपयोग अनुभाग) में localhost का उपयोग करने के बजाय, उस लक्ष्य मशीन के होस्टनाम का उपयोग करें जिसमें होस्ट है।
क्लाइंट मशीन पर:
./wotop <client-hop-port> <server-host-name> <server-hop-port>
लक्ष्य मशीन पर:
./wotop <server-hop-port> localhost <target-port> SERVER
(अंत में कीवर्ड SERVER पर ध्यान दें)
SSH के मामले में, target-port 22 होगा। अब एक बार ये दोनों चल रहे हों, तो SSH करने के लिए आप निम्नलिखित चलाएँगे:
ssh <target-machine-username>@localhost -p <client-hop-port>
नोट: कीवर्ड server wotop को बताता है कि कनेक्शन का कौन सा पक्ष HTTP पर होना चाहिए।
पुल रिक्वेस्ट का हमेशा स्वागत है! 😄