Solution 1 :
J'ai rencontré le même problème. Vous pouvez le résoudre de cette façon :
# 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
Veuillez noter que le package est pour x86_64
(64 bits). Si vous avez besoin de i386
(32 bits), la bonne est :
wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm
Solution 2 :
Cette version particulière de netcat a un bogue. Jusqu'à ce qu'il y ait un correctif, la seule chose que vous puissiez faire est de rétrograder vers une version précédente - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64
devrait faire l'affaire.
Solution 3 :
Répondre à la question :
- OUI, une rétrogradation est nécessaire pour que nc puisse écouter.et comme pour les autres commentaires :
a) -p n'est pas censé être utilisé en mode d'écoute. de la page de manuel nc :
-l Utilisé pour spécifier que nc doit écouter une connexion entrante plutôt que d'initier une connexion à un hôte distant. C'est une erreur d'utiliser cette option en conjonction avec les options -p, -s ou -z.
b) la rétrogradation peut être effectuée en une seule étape, la commande yum downgrade fonctionne avec l'URL du package :
$ 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