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


13

मैं सेंटोस 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

क्या मुझे कुछ और करने की आवश्यकता है?


आप किस संस्करण का उपयोग कर रहे हैं?
जेनी डी

@ जेनीडी I ने पोस्ट अपडेट की, कृपया देखें
इल्या I

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

जवाबों:


17

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

# 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

एक साथ (और काम करता है) अजीब -i और -U झंडे के साथ आरपीएम का उपयोग करना। अधिक मानक आह्वान -ivh या -Uvh है।
dmourati

1
एक आकर्षण की तरह काम!
शॉन गुओ

यह रास्ता अब काम नहीं करता है
ब्रैडलैनी

@ ब्रैडलेनी क्यों नहीं?
एडी सी।

@EddieC। जब मैंने टिप्पणी की तो URL मेरे लिए 404 था। यह अब काम करता प्रतीत होता है। कोई बात नहीं।
ब्रेडलैनी

9

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


1
yumएक तर्क नहीं है जो पहले अनइंस्टॉल किए बिना पैकेज के विशिष्ट संस्करण में डाउनग्रेड कर सकता है?
कास्परड

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

4

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

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

a) -p को सुनने के मोड में उपयोग करने के लिए नहीं माना जाता है। एनसी मैनपेज से:

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

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

$ 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

0
# nc -l -p 1234

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

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

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


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

वह संस्करण -l के साथ -p का उपयोग करने की अनुमति नहीं देता है।
andrej

-3

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

यम स्थापित करें

प्रयत्न:

ncat -l 1234


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