Senden Sie Daten über vernetzte Computer mit Netcat über die Befehlszeile

Netcat ist ein leistungsfähiges Befehlszeilen-Tool, das Daten über eine Netzwerkverbindung mittels TCP / IP lesen und schreiben kann. Es wird häufig unter anderem für Relays, Dateiübertragung, Port-Scans verwendet. Obwohl netcat Ursprünge aus den Unix- und Linux-Welten stammen, ist netcat auch in Mac OS X integriert, und wir werden das Dienstprogramm nc als eine einfache Möglichkeit verwenden, um Daten und anderen Text über zwei vernetzte Computer zu senden.

Durch die Verwendung von Netcat zum Senden von Daten mit einer relativ einfachen Client- und Serverbeziehung bietet es eine potenziell schnellere Alternative zur herkömmlichen Dateifreigabe, wenn Benutzer beim Senden und Empfangen von Daten lieber in der Befehlszeile bleiben und SSH- oder SFTP-Verbindungen nicht herstellen. t praktisch.

Beachten Sie, dass netcat keine Anmeldungen oder Authentifizierung benötigt. Die einzige Voraussetzung ist, dass der Client die IP-Adresse des Servers und die Nummer des empfangenden Ports kennt. Dies birgt offensichtlich ein gewisses Potenzial für Sicherheitsmissbrauch. Daher ist die Verwendung von netcat zum Senden von Daten und Text im Allgemeinen am besten für fortgeschrittene Benutzer oder für die ausschließliche Verwendung hinter einem geschützten lokalen Netzwerk, wo nur ein geringes Risiko besteht, vorbehalten. Situationen, in denen Sicherheit besonders wichtig ist, wären besser mit SSH.

Zur Vereinfachung beziehen wir uns auf Computer 1, der mit netcat als "Server" hört, und wir beziehen uns auf Computer 2, der die Daten als "Client" an Computer 1 sendet.

Legen Sie Netcat fest, um auf Server (Computer 1) & Port zu hören

Wir starten netcat und lassen es an Port 2999 abhören und leiten dann alle empfangenen Daten mit der folgenden Befehlszeichenfolge in eine Datei namens "received.txt" um:

nc -l 2999 > received.txt

Bevor Sie den Client aufrufen, sollten Sie die IP-Adresse des Macs im lokalen Netzwerk haben. Sie können dies über das Netzwerk-Kontrollfeld oder, da Sie bereits am Terminal sind, über die Befehlszeile mit der folgenden Syntax abrufen:

ipconfig getifaddr en0

Moderne Macs mit Wi-Fi verwenden nur en0, Macs mit Ethernet und WLAN kann en1 verwenden. Wenn man nichts auftaucht, versuche die andere Schnittstelle die LAN IP zu bekommen. Nehmen wir an, dass diese Macs IP als "192.168.1.101" gemeldet wird, natürlich wird Ihre wahrscheinlich variieren. Sie benötigen dies auf dem Client-Computer, um Daten zu senden, die wir als nächstes behandeln werden.

Pipe-Daten vom Client (Computer 2) zum Listening Server

Jetzt können Sie auf dem Client, von dem Sie Daten senden möchten, einen Befehl wie den folgenden verwenden. Wir verwenden cat, um eine Textdatei über das Netzwerk an den empfangenden Netcat-Server zu senden, aber Sie können alles überleiten, was Sie wollen:

cat sendthisdataover.txt | nc 192.168.1.101 2999

Damit dies ordnungsgemäß funktioniert, müssen Sie unbedingt Ihre eigene IP-Adresse vom Server eingeben und die entsprechende Datei oder den gewünschten Text erfassen.

Wenn das lokale Netzwerk nur marginal schnell ist, sollten die Daten ziemlich schnell ankommen, wenn nicht sofort. Sobald die Datenübertragung abgeschlossen ist, werden beide Seiten der Verbindung beendet und der Server hört auf zu hören und schließt dann den Port. Dadurch können einzelne Daten wie Log-Dateien oder ein großes Textdokument einmalig gesendet werden, es ist jedoch nicht unbedingt praktisch, viele Dateien zu verschieben.

Wie bereits erwähnt, können Sie über beliebige Daten pipesieren, also ob es sich um die Ausgabe einer anderen App, Tail, Cat oder sogar direkt aus der Zwischenablage mit pbcopy und pbpaste handelt, es wird über netcat übertragen.

Es sollte angemerkt werden, dass es bequemere Möglichkeiten gibt, eine Zwischenablage zwischen Macs oder zwischen einem Mac und Linux oder Windows Maschinen zu teilen, und in diesen Situationen ist es besser, kostenlose Tools wie Teleport für die Mac-zu-Mac-Freigabe zu verwenden kostenloses Synergy Utility, wenn Sie zwischen Macs und PCs plattformübergreifend arbeiten. Beide ermöglichen einem Benutzer, Daten aus der Zwischenablage sowie Eingabegeräte wie Maus und Tastatur freizugeben.

Während diese Demonstration auf zwei Macs mit OS X gezeigt wird, gibt es keinen Grund, warum Sie netcat nicht verwenden können, um Daten zwischen einem Mac und einem Linux-Rechner zu senden oder umgekehrt.

Es gibt Tonnen von anderen großen Anwendungen für Netcat da draußen, wenn Sie irgendwelche Favoriten haben, lassen Sie uns in den Kommentaren wissen!