Was sind die Unterschiede zwischen ncat, nc und netcat?

Was sind die Unterschiede zwischen ncat, nc und netcat?

ncIch bin nicht sicher , wann ich netcatoder verwenden soll ncat. Wenn das eine die veraltete Version des anderen ist? Wenn das eine nur in einer Distribution verfügbar ist? Wenn es derselbe Befehl ist, aber mit unterschiedlichen Namen?

Tatsächlich bin ich etwas verwirrt. Meine Frage kommt daher, dass ich einen Netzwerkgeschwindigkeitstest zwischen zwei CentOS 7-Servern durchführen möchte. Ich bin auf mehrere Beispiele gestoßen, bei denen ncund verwendet wurden, ddaber nicht viele, bei denen netcatoder verwendet wurde ncat.

Kann mir das bitte jemand klarmachen?

Antwort1

ncund netcatsind zwei Namen für dasselbe Programm (normalerweise ist einer ein symbolischer Link zum anderen). Allerdings gibt es – zur großen Verwirrung – zwei verschiedene Implementierungen von Netcat („traditionell“ und „OpenBSD“), die unterschiedliche Optionen und Funktionen bieten.

Ncat ist die gleiche Idee, stammt aber aus dem Nmap-Projekt. Es gibt auch socat, das eine ähnliche Idee hat. Es gibt auch /dev/tcp, eine (optionale) Bash-Funktion.

Wenn Sie jedoch Netzwerkgeschwindigkeitstests durchführen möchten, dannalleder oben genannten sind die falsche Antwort. Sie suchen nach iperf3 (Seite 1oderSeite 2oderCode).

Antwort2

Betrachtet man die Pakete in Debian, so gibt es zwei verschiedene Implementierungen von netcat ( nc), ichdenkenbeide werden mit der gleichen Binärdatei installiert und sind mit netcatdieser symbolisch ncverknüpft (obwohl sie Debians "Alternativen"-System verwenden, um zu steuern, welche der Implementierungen mit dem Hauptnamen erscheint). Diese beiden sindnetcat-traditional("der "klassische" Netcat, geschrieben vonHobbit. Es fehlen viele Funktionen, die in netcat-openbsd vorhanden sind.") undnetcat-openbsd(„die OpenBSD-Neufassung von Netcat, einschließlich Unterstützung für IPv6, Proxys und Unix-Sockets.“).

ncatist die Version vonnetcat vom Nmap-Projektbehauptete, eine „stark verbesserte Neuimplementierung des ehrwürdigen Netcat“ zu sein.

Alle drei scheinen die gleiche Grundfunktionalität zu haben, wie etwa die Möglichkeit, einen Socket zu öffnen und eine Verbindung herzustellen oder zu lauschen. Für alles, was darüber hinausgeht, sollten Sie jedoch das Handbuch Ihrer Version überprüfen. (Die OpenBSD-Version unterstützt -ebeispielsweise nicht die Ausführung eines Befehls nach der Verbindung.)

Antwort3

ncat unterstützt SSL, was sich hervorragend zum Testen von https-Sitzungen eignet. nc/netcat erfordert die Verwendung von „openssl s_client …“

verwandte Informationen