Linux / Befehl nc: TCP- und UDP-Verbindungen testen
nc (Netcat) ist ein vielseitiges Werkzeug, das TCP/UDP-Verbindungen öffnet oder abhört, um Daten zu senden und zu empfangen. Es wird auch verwendet, um schnell zu überprüfen, ob ein Port auf einem autorisierten Host zugänglich ist.
Linux-Distributionen können unterschiedliche Implementierungen haben, wie z. B. OpenBSD netcat oder Nmap Ncat, die unter dem Namen nc installiert sind. Die Option -z prüft, ob eine Verbindung möglich ist, ohne Daten zu senden, und -v zeigt Diagnosemeldungen an. Einige Optionen und die Syntax des Abhörmodus unterscheiden sich zwischen den Implementierungen.
Grundlegende Syntax
nc [options] host port
Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung für Ihr aktuelles System mit man nc.
Beispiele
Lokalen SSH-Port überprüfen
Prüfen Sie, ob der TCP-Port 22 Ihres Computers Verbindungen akzeptiert.
nc -vz 127.0.0.1 22
Verbindungs-Timeout
Begrenzen, um nicht zu lange auf einen nicht reagierenden lokalen Port zu warten.
nc -w 3 -vz 127.0.0.1 80
Direktverbindung
Beobachten Sie die Daten, die von Diensten auf Ihrem eigenen Computer gesendet werden. Beenden Sie mit Strg+C.
nc -v 127.0.0.1 22
Interpretation von Portverbindungstest-Ergebnissen
nc -vz ermöglicht es Ihnen einfach, zu überprüfen, ob eine TCP-Verbindung hergestellt werden kann, ohne Daten zu senden oder zu empfangen. Unterstützte Optionen und Ausgabemeldungen variieren je nach Netcat-Implementierung.
nc -vz example.com 443
Beispielausgabe, wenn die Verbindung erfolgreich ist:
Connection to example.com 443 port [tcp/https] succeeded!
Eine erfolgreiche Verbindung bedeutet nur, dass der Port eine TCP-Verbindung akzeptiert hat; es bedeutet nicht, dass das TLS-Zertifikat oder die HTTP-Antwort gültig ist. Bei einem Timeout überprüfen Sie die Firewall, die Route oder den Wartestatus des Servers; wenn die Verbindung sofort abgelehnt wird, prüfen Sie, ob das Ziel keine Verbindungen akzeptiert. Senden Sie Testpakete nur an autorisierte Ziele.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-z |
Überprüfen Sie die Konnektivität, ohne Daten zu senden. |
-v |
Zeigen Sie die Diagnostikausgabe detailliert an. |
-w seconds |
Legen Sie Verbindungs- und E/A-Timeouts fest. Die Bedeutung kann je nach Implementierung variieren. |
-u |
Im UDP-Modus verwenden. |
-l |
Empfangsmodus, der auf eine Verbindung wartet. Überprüfen Sie die Syntax gemäß der Implementierung. |
Vorsichtsmaßnahmen bei der Verwendung
Dass ein Port offen ist, garantiert nicht, dass die Anwendung korrekt funktioniert oder dass die Authentifizierung sicher ist. UDP -z-Ergebnisse sind besonders schwer zu interpretieren aufgrund des fehlenden Rücksignals. Überprüfen Sie externe Hosts nur mit der Erlaubnis des Eigentümers. Verwenden Sie nc -h, um die in der aktuellen Implementierung verfügbaren Optionen zu prüfen.
Häufig gestellte Fragen
Sind nc und ncat dasselbe Werkzeug?
Beide sind Netcat-Derivate, aber ihre Implementierungen können sich unterscheiden. Überprüfen Sie das installierte Paket und die Ausgabe von nc -h, um die Optionen zu unterscheiden.
Offizielle Dokumentation
Sie können das genaue Verhalten der Optionen und die Unterschiede zwischen den Implementierungen in der offiziellen Dokumentation für nc nachsehen.




