GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie Netcat zum Scannen offener Ports in Linux

Netcat (kurz NC) ist ein funktionsreiches Computernetzwerk-, Debugging- und Untersuchungsprogramm, das eine umfangreiche Reihe von Befehlen unterstützt, um Netzwerke zu verwalten und den Fluss von Netzwerkverkehrsdaten zwischen Systemen zu überwachen, die Transmission Control Protocol (TCP) und User Datagram Protocol verwenden (UDP).

Netcat kann ein sehr nützliches Tool für Netzwerk- und Systemadministratoren sein, um schnell zu erkennen, wie ihr Netzwerk arbeitet und welche Art von Netzwerkaktivität im System stattfindet.

In diesem Artikel besprechen wir, wie Sie dieses vielseitige Netcat-Dienstprogramm installieren und verwenden, um einfache Port-Scans durchzuführen, um offene Ports in Linux-Systemen zu identifizieren.

Netcat unter Linux installieren

Netcat sollte auf fast allen modernen Linux-Distributionen verfügbar sein, wenn der Standard-Paketmanager wie gezeigt verwendet wird.

$ sudo yum install nc         [On CentOS/RHEL/Rocky Linux/AlmaLinux]
$ sudo dnf install nc         [On Fedora 22+ and RHEL 8]
$ sudo apt install Netcat     [On Debian/Ubuntu]

Linux-Port-Scannen mit Netcat-Befehlen

Sobald Sie das Netcat-Dienstprogramm auf Ihrem Linux-Server installiert haben, können Sie mit der Durchführung eines Netzwerk-Port-Scans beginnen, der den Status aller Ports in der angegebenen Domäne oder IP-Adresse überprüft, sodass Sie feststellen können, ob eine Firewall oder ein anderer Blockierungsmechanismus aktiviert ist Ort.

Beispielsweise können wir alle Ports bis 1000 scannen indem Sie den folgenden Befehl mit -z ausführen Option, die nur einen Scan durchführt, anstatt zu versuchen, eine Verbindung zu öffnen, und -v Option, um netcat zu benachrichtigen, ausführlichere Informationen zu erzeugen.

$ netcat -z -v google.com 1-1000
Or
$ nc -z -v google.com 1-1000

Die Ausgabe sieht folgendermaßen aus:

netcat: connect to google.com port 1 (tcp) failed: Connection timed out
netcat: connect to google.com port 1 (tcp) failed: Network is unreachable
netcat: connect to google.com port 2 (tcp) failed: Connection timed out
netcat: connect to google.com port 2 (tcp) failed: Network is unreachable
netcat: connect to google.com port 3 (tcp) failed: Connection timed out
netcat: connect to google.com port 3 (tcp) failed: Network is unreachable
netcat: connect to google.com port 4 (tcp) failed: Connection timed out
netcat: connect to google.com port 4 (tcp) failed: Network is unreachable
netcat: connect to google.com port 5 (tcp) failed: Connection timed out
netcat: connect to google.com port 5 (tcp) failed: Network is unreachable
....

Sie können mit -n auch einen Port-Scan für die IP-Adresse durchführen Option, um festzulegen, dass Sie die IP-Adresse nicht über DNS auflösen müssen.

$ netcat -z -n -v 192.168.0.173 1-1000
OR
$ nc -z -n -v 192.168.0.173 1-1000

Die Ausgabe sieht folgendermaßen aus:

netcat: connect to 192.168.0.173 port 1 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 2 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 3 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 4 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 5 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 6 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 7 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 8 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 9 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 10 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 11 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 12 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 13 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 14 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 15 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 16 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 17 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 18 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 19 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 20 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 21 (tcp) failed: Connection refused
Connection to 192.168.0.173 22 port [tcp/*] succeeded!
netcat: connect to 192.168.0.173 port 23 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 24 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 25 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 26 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 27 (tcp) failed: Connection refused
...

Aus der obigen Ausgabe können Sie deutlich erkennen, dass der traditionelle SSH-Port im Bereich von 1-1000 offen ist auf dem Remote-Rechner.

Wenn Sie nur die offenen Ports auf dem Bildschirm ausgeben möchten, müssen Sie die Ausgabe wie gezeigt mit dem grep-Befehl filtern.

$ netcat -z -n -v 192.168.0.173 1-1000 2>&1 | grep succeeded
OR
$ nc -z -n -v 192.168.0.173 1-1000 2>&1 | grep succeeded

Ausgabe:

Connection to 192.168.0.173 22 port [tcp/*] succeeded!
Connection to 192.168.0.173 80 port [tcp/*] succeeded!

Sie können auch einzelne Ports scannen.

$ nc -zv 192.168.0.173 80
$ nc -zv 192.168.0.173 22
Or
$ nc -zv 192.168.0.173 http
$ nc -zv 192.168.0.173 ssh

[ Das könnte Ihnen auch gefallen:So finden und schließen Sie offene Ports in Linux ]

Weitere Informationen und Verwendung finden Sie auf den Manpages von netcat.


Linux
  1. So verwenden Sie BusyBox unter Linux

  2. Wie ich Cron unter Linux verwende

  3. So finden Sie die Liste aller offenen Ports in Linux heraus

  4. So verwenden Sie den Su-Befehl unter Linux

  5. So listen Sie offene Ports auf einem Linux/Unix-Server auf

So führen Sie einen Port-Scan unter Linux durch

So überprüfen Sie offene Ports in Linux

So öffnen Sie einen Port auf Ubuntu 20.04

So überprüfen Sie, ob ein Port auf einem Remote-Linux-System geöffnet ist

So finden und schließen Sie offene Ports in Linux

Wie überprüfe ich offene Ports in Linux?