Lösung 1:
Ich bin auf das gleiche Problem gestoßen. Sie können es folgendermaßen lösen:
# 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
Bitte beachten Sie, dass das Paket für x86_64
ist (64-bit). Wenn Sie i386
benötigen (32-Bit), das richtige ist:
wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm
Lösung 2:
Diese bestimmte Version von netcat hat einen Fehler. Bis es eine Lösung dafür gibt, können Sie nur auf eine frühere Version downgraden - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64
sollte reichen.
Lösung 3:
Beantwortung der Frage:
- JA, ein Downgrade ist erforderlich, damit nc zuhören kann. Und was die anderen Kommentare betrifft:
a) -p sollte im Zuhörmodus nicht verwendet werden. aus der NC-Manpage:
-l Wird verwendet, um anzugeben, dass nc auf eine eingehende Verbindung lauschen soll, anstatt eine Verbindung zu einem entfernten Host zu initiieren. Es ist ein Fehler, diese Option zusammen mit den Optionen -p, -s oder -z zu verwenden.
b) Downgrade kann in einem Schritt durchgeführt werden, der Befehl yum downgrade arbeitet mit der URL zum Paket:
$ 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