Was sind die Unterschiede zwischen ncat, nc und netcat?

20

Ich bin nicht sicher , wann zu verwenden nc, netcatoder ncat. Wenn einer die veraltete Version eines anderen ist? Ist einer nur in einer Distribution verfügbar? Ist es der gleiche Befehl, aber mit unterschiedlichen Namen?

Tatsächlich bin ich ein bisschen verwirrt. Meine Frage kommt von dem Wunsch, einen Netzwerkgeschwindigkeitstest zwischen zwei CentOS 7-Servern durchzuführen. Ich stieß auf mehrere Beispiele mit ncund ddaber nicht viele mit netcatoder ncat.

Könnte das bitte jemand für mich klären?

Pozinux
quelle

Antworten:

23

ncund netcatsind zwei Namen für dasselbe Programm (normalerweise ist einer ein Symlink zum anderen). Trotzdem gibt es zwei verschiedene Implementierungen von Netcat ("traditionell" und "OpenBSD"), die unterschiedliche Optionen und Funktionen haben.

Ncat ist die gleiche Idee, aber aus dem Nmap-Projekt. Es gibt auch socateine ähnliche Idee. Es gibt auch /dev/tcpeine (optionale) Bash-Funktion.

Wenn Sie jedoch Netzwerkgeschwindigkeitstests durchführen möchten, sind alle oben genannten Antworten falsch. Sie suchen nach iperf3 ( Site 1 oder Site 2 oder Code ).

derobert
quelle
Meinen Sie damit, dass das Testen der Netzwerkgeschwindigkeit (Schnelltest) mit dd und nc nicht zuverlässig ist?
Pozinux
3
@Pozinux dd / nc sollte Ihnen eine durchschnittliche Bandbreite geben, aber keine der zusätzlichen nützlichen Informationen, die iperf3 Ihnen gibt (war es stabil, hat es einen langsamen TCP-Start erfahren, gab es erneut Übertragungen usw.). All dies ist sehr nützlich (fast erforderlich), um unerwartet niedrige Bandbreiten zu beheben oder sogar zu verstehen, was "Sie haben X Mbps" bedeutet.
Derobert
Ok, danke, ich wusste nichts über dieses Tool.
Pozinux
7

Mit Blick auf die Pakete in Debian, gibt es zwei verschiedene Implementierungen von netcat ( nc), ich denke , beide mit installieren netcatsowie ncauf den gleichen binären Symlink (Obwohl sie verwenden Debian „Alternativen“ System zu steuern , die eine der Implementierung erscheint mit der Hauptname .) Diese beiden sind netcat-traditional("das" klassische "von Hobbit geschriebene Netcat. Es fehlen viele Funktionen in netcat-openbsd.") und netcat-openbsd("das OpenBSD -Neuschreiben von netcat, einschließlich der Unterstützung von IPv6, Proxies und Unix Steckdosen. ").

ncatist die Version von Netcat aus dem Nmap-Projekt, die angeblich "eine wesentlich verbesserte Neuimplementierung des ehrwürdigen Netcat" ist.

Alle drei scheinen die gleichen grundlegenden Funktionen zu haben, wie das Öffnen einer Steckdose und das Anschließen oder Abhören. Für alles, was darüber hinausgeht, sollten Sie das Handbuch Ihrer Version lesen. (Die OpenBSD-Version unterstützt beispielsweise nicht die -eAusführung eines Befehls nach dem Herstellen einer Verbindung.)

ilkkachu
quelle