पोर्ट फ़ॉरवर्डिंग के लिए netcat का उपयोग करना


20

मेरे पास एक ऐसी प्रक्रिया है जो सुनती है IP:port- वास्तव में यह स्पार्क स्ट्रीमिंग है जो एक सॉकेट से जुड़ती है। मुद्दा यह है कि मैं किसी भी तरह एक सर्वर बनाना चाहता हूं जो एक पोर्ट पर स्पार्क से कनेक्ट हो और डेटा दूसरे पोर्ट से इस सर्वर में स्ट्रीम हो।

उदाहरण के लिए, स्पार्क स्ट्रीमिंग उदाहरण netcat उपयोगिता (उदाहरण के लिए nc -lk 5005) का उपयोग करता है । हालाँकि, मेरे पास एक और सेवा है जो आने वाले संदेशों को सुनती है और फिर एक संदेश भेजती है। इसलिए मुझे किसी प्रकार के सर्वर की आवश्यकता है जो सेवा ए के संदेशों को सुन सके और उन्हें स्पार्क करने के लिए पास कर सके।

मेरी सेवा ए, सॉकेट्स पर निर्भर करती है। और मेरी चिंगारी उपभोक्ता को सॉकेट पर निर्भर करती है।

यहाँ मैंने जो अब तक किया है वह पोर्ट से पोर्ट के लिए अग्रेषण है लेकिन यह काम नहीं करता है:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

इस विचार के साथ कि सेवा A:5005-> सॉकेट -> 5006-> स्पार्क

मुझे यह काम करने का सही तरीका नहीं मिल रहा है।

कुछ जवाबों ने निम्नलिखित सुझाव दिए हैं:

socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006

मेरी स्पार्क सॉकेट रिसीवर कनेक्ट नहीं होती है या नहीं हो सकती है। मुझे त्रुटि मिली:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused


क्या आपको यकीन है कि पोर्ट 5006 खुला है ?! ; व्हाट ouput इस कमांड सूद netstat -nltp
باربابابا

जवाबों:


28

आप केवल उपयोग नहीं कर सकते ncआगे यातायात के लिए, nc नहीं है keep-aliveया forkमोड

आपको इसके बजाय किसी अन्य उपकरण का उपयोग करना चाहिए nc; उदाहरण के लिए उपयोग socatयाncat


यह कमांड पोर्ट पर सुनता है 5050और सभी पोर्ट को फॉरवर्ड करता है2020

socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020

Ncat एक फीचर-पैक नेटवर्किंग उपयोगिता है जो कमांड लाइन से पूरे नेटवर्क में डेटा पढ़ता और लिखता है। Ncat को Nmap प्रोजेक्ट के लिए आदरणीय Netcat के बेहतर सुधार के रूप में लिखा गया था। यह

ncat -l localhost 8080 --sh-exec "ncat example.org 80"

और आप अन्य उपकरणों का उपयोग कर सकते हैं:

पोर्ट 1234 पर सुनें और इसे "1.1.1.1" पते पर 4567 पोर्ट करें।

./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"

पोर्ट 1234 पर सुनें और इसे पते "1.1.1.1" स्रोत पर 4567 पोर्ट करें

./gost -L tcp://:1234/1.1.1.1:4567

1
धन्यवाद, मैंने पहले सोसाइटी परीक्षण की कोशिश की, लेकिन मुद्दा यह है कि मेरी स्ट्रीमिंग का उदाहरण वहां हर समय कुछ होने की उम्मीद करता है और 5006 पर सुन रहा है - इसके बिना, मुझे एक त्रुटि मिलती है।
विघटनकारी

ncap में भी परदे के पीछे विकल्प हैं ... जो कुछ दिलचस्प चीजों की अनुमति देता है ... ( gostहालांकि भयानक लगता है ....)
गर्ट वैन डेन बर्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.