netcat या socat के साथ इको सर्वर


18

मैं पैकेट प्राप्त करने के लिए एक यूडीपी इको सर्वर चाहता हूं, और वास्तव में इसे प्राप्त किया है। मैं इसे कैसे उपयोग कर सकता हूँ netcatया socat? इसे हमेशा के लिए जीवित रहना चाहिए और कई मेजबानों से आने वाले पैकेट को संभालना चाहिए।


7
कृपया इस बात को इंटरनेट-सुलभ न बनाएं। चूंकि यह यूडीपी-आधारित है, इसलिए इसका उपयोग स्रोत-जाली पैकेटों का उपयोग करके मनमाने स्थानों पर एक पैकेट स्ट्रीम भेजने के लिए किया जा सकता है।
इवान एंडरसन

जवाबों:


17

एक और नेटकैट-जैसा उपकरण नैम्प संस्करण है ncat, जिसमें इस तरह की चीजों को सरल बनाने के लिए बहुत सारे बिल्ट इन गुड्स हैं। यह काम करेगा:

ncat -e /bin/cat -k -u -l 1235

-इसका अर्थ है कि यह / बिन / बिल्ली को (जो आप टाइप करते हैं, उसे प्रतिध्वनित करने के लिए)
-k का अर्थ है-जीवित रखना, कि यह प्रत्येक कनेक्शन के बाद सुनता रहता है
-u का अर्थ है udp
-l 1235 का अर्थ है कि यह पोर्ट 1235 पर सुनता है



6

आप ग्राहक के रूप में इको सर्वर और नेटकैट के रूप में सोसाइट (नेटकैट का उपयोग करने के बजाय) का भी उपयोग कर सकते हैं।

सोकेट इको सर्वर (टीसीपी पोर्ट 1234 पर सुनता है):

socat -v tcp-l:1234,fork exec:'/bin/cat'

Netcat ग्राहक (TCP पोर्ट 1234 पर सर्वर से जुड़ता है):

nc serverip 1234

2

आप एक सी प्रोग्राम लिख सकते हैं जो कांटे nc -u -l -p 4321 और फिर जोड़ने के लिए डुबकी (2) का उपयोग करता है:

  • माता-पिता के स्टडआउट के साथ nc स्टडिन
  • एनसी माता-पिता के डंडे के साथ stdout

फिर एक अंतहीन लूप में माता-पिता स्टड से पढ़ता है और स्टैडआउट में लिखता है कि माता-पिता जो भी पढ़ते हैं।


मैं उपयोग कर सकता हूं socat -v PIPE UDP-LISTEN:5555,fork, लेकिन दूसरे कनेक्शन से इनकार कर दिया जाता है। वैसे, यह टीसीपी-लिस्टेन के साथ ठीक काम करता है। मैं कोड से परहेज कर रहा हूं, अन्यथा मैं यह सब सी। में लिख सकता था
मोहम्मद हेडायती

आपको पूरी चीज को एक अंतहीन लूप में लपेटना होगा: जबकि यह सच है; सामाजिक सामान; किया
अडामो


0

यदि आप विंडोज पर चल रहे हैं और साइबर जैसे पर्यावरण जैसे एक यूनिक्स का उपयोग करते हैं, तो नेटकैट माइग्रेट -ई पैरामीटर प्रदान नहीं करता है। यह मेरे लिए ठीक काम किया।

http://bansky.net/echotool/


0

netcat समाधान Ubunutu में पूर्व-स्थापित

netcatपहले से स्थापित Ubuntu 16.04 में से आता है netcat-openbsd, और कोई नहीं है -cविकल्प है, लेकिन मैनुअल एक समाधान देता है:

sudo mknod -m 777 fifo p
cat fifo | netcat -l -k localhost 8000 > fifo

तब ग्राहक उदाहरण:

echo abc | netcat localhost 8000

TODO: इनपुट स्ट्रिंग मान को कैसे संशोधित किया जाए? निम्नलिखित कोई उत्तर नहीं देता है:

cat fifo | tr 'a' 'b' | netcat -l -k localhost 8000 > fifo

दूरस्थ शेल उदाहरण हालांकि काम करता है:

cat fifo | /bin/sh -i 2>&1 | netcat -l -k localhost 8000 > fifo

मैं नहीं जानता कि कैसे समवर्ती अनुरोधों से निपटना है।

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