Netcat होस्ट को अग्रेषित करना


0

यह शायद बहुत आसान है, लेकिन मैं अभी इसके चारों ओर अपना सिर नहीं लपेट सकता।

मैंने एक उपडोमेन स्थापित किया है, चलो इसे कहते हैं nc.example.com। मेरा DNS और सबडोमेन को रिमोट सर्वर पर इंगित करने के लिए सेट करें, जो Nginx चलाता है जो पोर्ट को अनुरोध को उल्टा करता है 3123

फिर, मैं नेटकट का उपयोग करने के अनुरोधों के लिए सुनता हूं रीमोट सर्वर , इस तरह:

nc -l 3123

ताकि मैं HTTP अनुरोध प्राप्त कर सकूं nc.example.com

अगला, मेरे पर स्थानीय मशीन , मैं इस तरह से एक असंबंधित सर्वर (Google के सार्वजनिक DNS) से कनेक्ट करने के लिए netcat का उपयोग करता हूं:

$ nc 8.8.8.8 80
GET / HTTP/1.1
Host: nc.example.com

(अतिरिक्त 2 newlines के साथ ताकि यह HTTP अनुरोध को पूरा करे, लेकिन यहां प्रदर्शित नहीं किया जा सकता)

मैं अपने पर कनेक्शन प्राप्त करता हूं रीमोट सर्वर निम्नलिखित नुसार:

$ nc -l 3123
GET / HTTP/1.1
Connection: upgrade
Host: nc.example.com
X-Real-IP: <redacted_1>
X-Forwarded-Host: nc.example.com
X-Forwarded-Server: nc.example.com
X-Forwarded-For: <redacted_2>, <redacted_1>

अब, मुझे यकीन नहीं है कि ऐसा क्यों होता है, क्योंकि मैंने सोचा था कि nc से जुड़ेंगे 8.8.8.8मेरे सर्वर के आईपी पते के बजाय। है 8.8.8.8 मेरी ओर से मेरे सर्वर से अनुरोध को अग्रेषित करना? क्या इसके परिणामस्वरूप कोई सुरक्षा निहितार्थ हैं?


संपादित करें :

मुझे बस एहसास हुआ <redacted_2> एक निजी आईपी पता है ( 172.24.199.96 ) मेरे "होम" नेटवर्क को सौंपा गया (इसे एक्सेस करके मुझे मेरे राउटर के होमपेज पर लाया गया)। मैं अपने कॉलेज के नेटवर्क के भीतर ऐसा कर रहा हूं।

क्या इसका मतलब यह है कि अपस्ट्रीम राउटर मेरे लिए अनुरोध पर आधारित है, जिसके आधार पर Host शीर्षक? यह समझ में आता है क्योंकि मेरे कॉलेज ने हाल ही में कुछ प्रकार के नेटवर्क फ़िल्टरिंग को लागू किया है, हालांकि इसके बारे में अधिक विवरण नहीं है। हालांकि मुझे समझ नहीं आ रहा है कि यह इस तरह से व्यवहार क्यों करता है?

जवाबों:


1

आपके Nginx सर्वर को किस IP पते से कनेक्शन प्राप्त होता है से ?

ऐसा लगता है कि एक "पारदर्शी प्रॉक्सी" है जो आपके स्थानीय कंप्यूटर को भेजता है, और होस्ट हेडर के आधार पर उन्हें अग्रेषित करता है। (एक वायरस, एक एंटीवायरस, एक कैशिंग प्रॉक्सी, एक पैतृक फिल्टर, आदि हो सकता है)

खासकर क्योंकि आपके एक्स-फॉरवर्डेड-हेडर में दो आईपी पते हैं, भले ही नग्नेक्स को केवल एक जोड़ा जाना चाहिए।

Google DNS सर्वर निश्चित रूप से इस तरह के अग्रेषण का प्रदर्शन नहीं करते हैं - वे पोर्ट 80 पर कनेक्शन भी स्वीकार नहीं करते हैं। (वास्तव में, "खुले परदे के पीछे" ऐसा व्यवहार करना व्यापक रूप से सुरक्षा समस्या माना जाएगा ...)


आप सही हैं, मैंने एक ही मशीन से एक ही सर्वर से कनेक्ट करने की कोशिश की और यह काम नहीं किया। मैंने अतिरिक्त विवरण जोड़ने के लिए प्रश्न को संपादित किया, मुझे एहसास हुआ कि redacted_2 एक निजी आईपी पता है। मेरा अपस्ट्रीम राउटर शायद समीपता कर रहा है, लेकिन यह आगे के अनुरोधों पर आधारित क्यों होगा Host शीर्षक?
Irvin Lim

इस तरह "पारदर्शी" परदे के पीछे काम करते हैं। फ़ायरवॉल चुपचाप सभी टीसीपी: 80 कनेक्शन को प्रॉक्सी में रीडायरेक्ट करता है, जिस बिंदु पर 'मूल' गंतव्य आईपी खो जाता है। तो प्रॉक्सी को HTTP अनुरोध के आधार पर वास्तविक गंतव्य का अनुमान लगाना चाहिए। /// से संबंधित क्यूं कर आपका राउटर प्रॉक्सी कर रहा है ... जो उसके मालिकों / प्रशासकों के लिए एक प्रश्न है।
grawity

धन्यवाद, मैं वास्तव में बस के रूप में अच्छी तरह से पता लगा। शायद कुछ फ़िल्टरिंग और कैशिंग चल रहा है, क्योंकि यह एक विश्वविद्यालय नेटवर्क है।
Irvin Lim
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.