it-swarm.com.de

Was sind die Unterschiede zwischen ncat, nc und netcat?

Ich bin mir nicht sicher, wann ich nc, netcat oder ncat verwenden soll. Ist eine die veraltete Version einer anderen? Ist eine nur auf einer Distribution verfügbar? Wenn es der gleiche Befehl ist, 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 bin auf mehrere Beispiele mit nc und dd gestoßen, aber nicht auf viele mit netcat oder ncat.

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

21
Pozinux

nc und netcat sind zwei Namen für dasselbe Programm (normalerweise ist einer ein Symlink zum anderen). Für viel Verwirrung gibt es jedoch zwei verschiedene Implementierungen von Netcat ("traditionell" und "OpenBSD"), die unterschiedliche Optionen und Funktionen haben.

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

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

24
derobert

Wenn ich mir die Pakete in Debian anschaue, gibt es zwei verschiedene Implementierungen von netcat (nc). Ich denke , dass beide mit netcat sowie nc installiert sind die gleiche Binärdatei (obwohl sie Debians "Alternativen" -System verwenden, um zu steuern, welche der Implementierungen mit dem Hauptnamen angezeigt wird.) Diese beiden sind netcat-traditional ("die" klassische "Netzkatze, geschrieben von Hobbit . Es fehlen viele Funktionen in netcat-openbsd. ") und netcat-openbsd (" das OpenBSD-Umschreiben von Netcat, einschließlich Unterstützung für IPv6, Proxys und Unix-Sockets. ").

ncat ist die Version von netcat aus dem Nmap Project , die angeblich "eine stark verbesserte Neuimplementierung des ehrwürdigen Netcat" ist.

Alle drei scheinen die gleiche Grundfunktionalität zu haben, wie zum Beispiel das Öffnen eines Sockets und das Verbinden oder Abhören. Für weitere Informationen sollten Sie jedoch das Handbuch Ihrer Version lesen. (Das OpenBSD unterstützt -e Nicht, um beispielsweise einen Befehl nach der Verbindung auszuführen.)

7
ilkkachu