Netcat - IPv6 पते का उपयोग करके एक टीसीपी पोर्ट पर कैसे सुनें?


13

मैं netcat ( v1.10-41.1) के नवीनतम संस्करण का उपयोग कर रहा हूं, जिसमें IPv6 पतों का विकल्प नहीं है (जैसा -6कि पुराने संस्करणों में था nc)।

यदि मैं nc -lvnp 2222टाइपिंग पोर्ट्स की जाँच और जाँच करता हूँ netstat -punta, तो सर्वर 2222केवल IPv4 पतों के लिए पोर्ट पर सुनता प्रतीत होता है :

tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      2839/nc  

tcp6 सक्रिय नहीं है, उदाहरण के लिए, मेरा apache2 सर्वर:

tcp6       0      0 :::80                   :::*                    LISTEN      -

जवाबों:


17

डेबियन पर देखे गए नेटकैट के कम से कम 3 या 4 अलग-अलग कार्यान्वयन हैं:

  • netcat- पारंपरिक 1.10-41 मूल जो IPv6 का समर्थन नहीं करता है: शायद आपने जो स्थापित किया है।
  • netcat6 जो IPv6 (पुराने, सुव्यवस्थित) की पेशकश करने के लिए बनाया गया था।
  • netcat- openbsd 1.130-3। IPv6 का समर्थन करता है।
  • Ncat डेबियन स्थिर में नहीं के बाद से 7.70 + dfsg1-3 शायद थोड़ा नए द्वारा प्रदान की, nmap , समर्थन आईपीवी 6 है।

मैं ओपनबेड वन के लिए जाना था। प्रत्येक संस्करण में अलग-अलग वाक्यविन्यास हो सकते हैं, इसलिए ध्यान रखें।

वैसे: socat एक बेहतर वास्तव में netcat तुलना में बहुत अधिक करने में सक्षम उपकरण है। आपको इसे आजमाना चाहिए!


2
बहुत बढ़िया। socatउपकरण का सुझाव देने के लिए धन्यवाद । यह स्पष्ट रूप से अधिक विकल्प है, और निम्नलिखित: socat tcp6-listen:2222काम किया है।
बशबिन

2
@bashbin लेकिन इसके सिंटैक्स में थोड़ा अधिक वर्बोज़। कि हो सकता है socat tcp6-listen:2222,reuseaddr -(या शायद reuseportबजाय) यदि आप एक पंक्ति में दो बार इसका इस्तेमाल करना चाहते हैं तो इसके बाद सर्वर (socat आदेश) पहले डिस्कनेक्ट।
AB

4

मेरा मानना ​​है कि ipv4 और ipv6 की कार्यक्षमता वास्तव में कई कार्यान्वयन (कांटे) या पूरी तरह से विभिन्न संस्करणों के आसपास भ्रम का परिणाम है। आप खोज यदि आप भूल गए हैं जाएगा का उल्लेख है nc6। यह कार्यान्वयन बीएसडी आधारित डिस्ट्रोस में लगता है।

मैं nc6आपके विशेष डिस्ट्रो पर इंस्टॉल करने और इसे ncIPv6 समर्थन के बजाय चलाने की कोशिश करूंगा ।

आगे का अन्वेषण

मैं 2018-01-11 के इस कमिट को खोजने में सक्षम था- IPv6 पैच जोड़ें जो स्पष्ट रूप से IPv6 की कार्यक्षमता को वापस जोड़ता है जिसे आप netcat का नया संस्करण कह रहे हैं ।

नोट: मेरे पास अपने सिस्टम पर केवल on.५० तक पहुंच है और यह, जैसा कि आप वर्णन करते हैं, दोनों का समर्थन करता है -4और -6

मुझे संदेह है कि आपको क्या लगता है कि नेटकैट का एक नया संस्करण वास्तव में बहुत पुराना संस्करण है: http://nc110.sourceforge.net/

यदि आप नेटकैट के बारे में विकिपीडिया प्रश्न में उपलब्ध विभिन्न कार्यान्वयनों की एक विस्तृत सूची चाहते हैं ।

Netcat का मूल संस्करण एक यूनिक्स कार्यक्रम था। अंतिम संस्करण (1.10) मार्च 1996 में जारी किया गया था। 1

अधिकांश लिनक्स डिस्ट्रोस पर या तो जीएनयू नेटकैट या एनएमएपी संस्करण दिखाई देते हैं जो सबसे अधिक उपयोग कर रहे हैं:

POSIX सिस्टम पर कई कार्यान्वयन हैं , जिनमें GNU netcat [5] या OpenBSD netcat जैसे स्क्रैच से फिर से लिखना शामिल है, जिनमें से 6 IPv6 और TLS का समर्थन करता है । OpenBSD संस्करण को FreeBSD आधार 7 और Windows / Cygwin में पोर्ट किया गया है। 8 मैक ओएस एक्स नेटएक्स 10.13 के रूप में स्थापित नेटकैट के साथ आता है या उपयोगकर्ता वेरिएंट को स्थापित करने के लिए मैकपोर्ट का उपयोग कर सकते हैं। [9] नेटकैट का माइक्रोसॉफ्ट विंडोज संस्करण भी उपलब्ध है। [१०]

उदाहरण के लिए, CentOS 7.x पर:

$ nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )

$ rpm -qf /bin/nc
nmap-ncat-6.40-13.el7.x86_64
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.