Netcat startet nicht im Hörmodus


13

Ich verwende das CentOS 6.7 (Final) -System und wenn ich versuche, es ncim Listening-Modus auszuführen, wird Folgendes ausgegeben:

# nc -l 1234
nc: Protocol not available

Der Hafen ist nicht gebunden. Ich habe auch andere Portnummern ausprobiert. Dieser Fehler wurde anscheinend bereits gemeldet: https://access.redhat.com/solutions/1753753 . Leider ist es nicht sehr detailliert.

Paketinformationen:

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

Muss ich noch etwas ausprobieren?


Welche Version von nc benutzt du?
Jenny D

@JennyD Ich habe den Beitrag aktualisiert, bitte überprüfen Sie
Ilya I

1
Leider ist das einzige Update ein Downgrade, wie unten beschrieben. Ich stimme auch dafür, diese Frage nach Unix & Linux zu verschieben, da es nicht ausschließlich um Systemadministration geht. Es ist eine gute Seite mit einigen Experten, die mich in Ehrfurcht versetzen. Denken Sie also bitte nicht, dass die enge Abstimmung darauf zurückzuführen ist, dass Ihre Frage schlecht ist oder so.
Jenny D

Antworten:


17

Ich bin auf dasselbe Problem gestoßen. Sie können es auf diese Weise 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(64-Bit) ist. Wenn Sie i386(32-Bit) benötigen , ist der richtige:

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

Die gleichzeitige Verwendung von rpm mit den Flags -i und -U sieht seltsam aus (funktioniert aber). Weitere Standardaufrufe sind -ivh oder -Uvh.
Dmourati

1
Arbeit wie ein Zauber!
Shawn Guo

Dieser Pfad funktioniert nicht mehr
BradLaney

@ BradLaney warum nicht?
Eddie C.

@ EddieC. Die URL war 404ing für mich, als ich den Kommentar abgegeben habe. Es scheint jetzt zu funktionieren. Keine Ursache.
BradLaney

9

Diese bestimmte Version von Netcat hat einen Fehler. Bis es eine Lösung dafür gibt, können Sie nur ein Downgrade auf eine frühere Version durchführen - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64sollten den Trick machen.


1
Gibt es kein yumArgument, mit dem ein Downgrade auf eine bestimmte Version eines Pakets ohne vorherige Deinstallation durchgeführt werden kann?
Kasperd

Großartig, aber ich konnte kein Downgrade durchführen. Yum sagt, dass kein Paket verfügbar ist (sowohl installmit der spezifischen Version als auch mit dem downgradeBefehl). Ich habe auch versucht, nach dieser RPM-Datei zu suchen und habe sie noch nicht gefunden.
Ilya I

4

Beantwortung der Frage:

  1. JA, ein Downgrade ist erforderlich, damit nc mithören kann. und was die anderen Kommentare betrifft:

a) -p sollte im Hörmodus nicht verwendet werden. von nc manpage:

-l Wird verwendet, um anzugeben, dass nc auf eine eingehende Verbindung warten soll, anstatt eine Verbindung zu einem Remotehost herzustellen. Es ist ein Fehler, diese Option in Verbindung mit den Optionen -p, -s oder -z zu verwenden.

b) Das Downgrade kann in einem Schritt durchgeführt werden. Der Befehl yum downgrade arbeitet mit der URL des Pakets:

$ 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

Sie können diesen Port abhören, indem Sie explizit -pflag verwenden:

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

Das Problem war , entlang der Linien von nc1234 als Behandlungsziel - Port (trotz im Hören - Modus ausgeführt wird), und versuchen , auf Port 0 zu hören (die erzeugt diese seltsame Nachricht). Das explizite Weitergeben -pumgeht es.


Ich habe dies auf Centos 6 versucht und es funktionierte nicht mit der Version nc-1.84-24. Der Fix bestand darin, gemäß der akzeptierten Antwort auf die Version nc-1.84-22 herunterzustufen.
Criggie

In dieser Version ist die Verwendung von -p mit -l nicht zulässig.
Andrej

-3

Installieren Sie nmap:

yum installiere nmap

Versuchen:

ncat -l 1234


Bitte lesen Sie die Frage und die bereits gelieferten Antworten, um zu erfahren, warum Ihre Antwort in diesem speziellen Fall nicht ausreicht.
Sven
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.