सवाल नेटकैट सुनने मोड में शुरू करने में विफल रहता है


मैं CentOS 6.7 (फ़ाइनल) सिस्टम का उपयोग कर रहा हूं, और जब मैं दौड़ने की कोशिश करता हूं nc सुनने मोड में यह निम्नलिखित प्रिंट करता है:

# nc -l 1234
nc: Protocol not available

बंदरगाह बाध्य नहीं है। मैंने अन्य बंदरगाहों की भी कोशिश की। ऐसा लगता है कि यह बग पहले से ही रिपोर्ट किया गया है: https://access.redhat.com/solutions/1753753। दुर्भाग्य से यह बहुत विस्तृत नहीं है।

पैकेज की जानकारी:

Name        : nc
Arch        : x86_64
Version     : 1.84
Release     : 24.el6

क्या मुझे कुछ और करने की ज़रूरत है?


13
2017-10-18 10:13


मूल


आप किस एनसी का उपयोग कर रहे हैं? - Jenny D
@ जेनिडी मैंने पोस्ट अपडेट किया, कृपया जांचें - Ilya I
दुर्भाग्य से नीचे वर्णित एकमात्र फिक्स डाउनग्रेड है। मैं इस सवाल को आगे बढ़ाने के लिए भी मतदान कर रहा हूं यूनिक्स और लिनक्स चूंकि यह सिस्टम प्रशासन के बारे में सख्ती से नहीं है। यह कुछ विशेषज्ञों के साथ एक अच्छी साइट है जो मुझे डरते हैं, इसलिए कृपया मत सोचें कि करीबी वोट इसलिए है क्योंकि आपका प्रश्न खराब है या कुछ भी है। - Jenny D


जवाब:


मैं एक ही मुद्दे में भाग गया। आप इसे इस तरह हल कर सकते हैं:

# Removes the old package
yum erase nc

# Manually downloads the working package from the Official Repository
wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm

# Installs the package
rpm -iUv nc-1.84-22.el6.x86_64.rpm

कृपया ध्यान दें कि पैकेज के लिए है x86_64 (64-बिट)। अगर तुम्हे जरुरत हो i386 (32-बिट), सही एक है:

wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm

17
2017-10-18 13:25



-I और -यू झंडे के साथ आरपीएम का उपयोग एक साथ अजीब लग रहा है (लेकिन काम करता है)। अधिक मानक आमंत्रण -वह या -उवी है। - dmourati
एक आकर्षण की तरह काम करते हैं! - Shawn Guo
यह पथ अब काम नहीं करता है - BradLaney
@ ब्रैडलेनी क्यों नहीं? - Eddie C.
@EddieC। जब मैंने टिप्पणी की तो यूआरएल मेरे लिए 404 था। ऐसा लगता है कि अब काम कर रहा है। कोई बात नहीं। - BradLaney


नेटकैट के इस विशेष संस्करण में एक बग है। जब तक इसके लिए कोई फिक्स नहीं पड़ता है, तब तक केवल एक चीज जो आप कर सकते हैं वह पिछले संस्करण में डाउनग्रेड करना है - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64 चाल करना चाहिए


10
2017-10-18 11:07



नहीं करता है yum एक तर्क है जो बिना किसी अनइंस्टॉल किए पैकेज के किसी विशिष्ट संस्करण में डाउनग्रेड कर सकता है? - kasperd
बढ़िया, लेकिन मैं डाउनग्रेड करने में असमर्थ था। यम कहते हैं कि कोई पैकेज उपलब्ध नहीं है (दोनों install विशिष्ट संस्करण और के साथ downgrade आदेश)। उस आरपीएम फ़ाइल को खोजने का भी प्रयास किया और अभी तक नहीं मिला है। - Ilya I


प्रश्न का उत्तर दें:

  1. हां, डाउनग्रेड की आवश्यकता है ताकि एनसी सुन सके। और अन्य टिप्पणियों के लिए:

ए) -पी को सुनने के तरीके में इस्तेमाल नहीं किया जाना चाहिए। एनसी मैनपेज से:

-l निर्दिष्ट करने के लिए प्रयुक्त होता है कि एनसी शुरू करने के बजाय आने वाले कनेक्शन के लिए सुनना चाहिए               रिमोट होस्ट के लिए एक कनेक्शन। संयोजन के साथ इस विकल्प का उपयोग करने में त्रुटि है                -पी, -s, या -z विकल्प।

बी) डाउनग्रेड एक चरण में किया जा सकता है, yum डाउनग्रेड कमांड पैकेज में यूआरएल के साथ काम करता है:

$ rpm -q nc
nc-1.84-24.el6.x86_64
$ nc -l 12345 #Although the syntax is correct, the command fails
nc: Protocol not available
$ nc -l -p 12345 #attempt to run with incorrect syntax
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]
$ sudo yum downgrade http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm  #shortcut to downgrade
...
Setting up Downgrade Process
nc-1.84-22.el6.x86_64.rpm                                                              |  57 kB     00:00
Examining /var/tmp/yum-root-Iq4yc7/nc-1.84-22.el6.x86_64.rpm: nc-1.84-22.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package nc.x86_64 0:1.84-22.el6 will be a downgrade
---> Package nc.x86_64 0:1.84-24.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================
 Package          Arch                 Version                     Repository                            Size
==============================================================================================================
Downgrading:
 nc               x86_64               1.84-22.el6                 /nc-1.84-22.el6.x86_64               109 k

Transaction Summary
==============================================================================================================
Downgrade     1 Package(s)

Total size: 109 k
Is this ok [y/N]: y
...
Removed:
  nc.x86_64 0:1.84-24.el6

Installed:
  nc.x86_64 0:1.84-22.el6

Complete!
$ nc -l -p 12345 #attempt to run with incorrect syntax
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]
$ nc -l 12345 # try to listen again
^C
$#nc successully opens a socket on 12345. had to stop it with ctrl+C

4
2018-05-02 21:58





# nc -l -p 1234

आप स्पष्ट रूप से उपयोग करके उस बंदरगाह पर सुन सकते हैं -p झंडा:

-p source_port
         Specifies the source port nc should use, subject to privilege restrictions and availability.

समस्या के साथ समस्या थी nc 1234 के रूप में इलाज गंतव्य बंदरगाह (सुनने के मोड में चलने के बावजूद), और पोर्ट 0 पर सुनने की कोशिश कर रहा है (जिसने अजीब संदेश बनाया)। स्पष्ट रूप से गुजर रहा है -p इसके आसपास काम करता है।


0
2017-10-18 17:27



मैंने इसे सेंटोस 6 पर करने की कोशिश की और यह संस्करण एनसी-1.84-24 का उपयोग करके काम नहीं करता था। स्वीकृत उत्तर के अनुसार संस्करण एनसी-1.84-22 में डाउनग्रेड करना था। - Criggie
वह संस्करण -पी के साथ -p का उपयोग करने की अनुमति नहीं देता है। - andrej


एनएमएपी स्थापित करें:

yum इंस्टॉल nmap

प्रयत्न:

ncat -l 1234


-3
2018-01-04 19:01



कृपया यह जानने के लिए प्रश्न और पहले से ही दिए गए उत्तरों को पढ़ें कि उस विशेष मामले में आपका उत्तर पर्याप्त क्यों नहीं है। - Sven♦