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

Anonim

Netcat ist ein leistungsstarkes Befehlszeilentool, das Daten über eine Netzwerkverbindung mit TCP/IP lesen und schreiben kann. Es wird unter anderem häufig für Relais, Dateiübertragung, Port-Scanning verwendet. Obwohl Netcat aus der Unix- und Linux-Welt stammt, ist Netcat auch in Mac OS X integriert, und wir werden das Dienstprogramm nc als einfache Möglichkeit verwenden, Daten und anderen Text über zwei vernetzte Computer zu senden.Durch die Verwendung von netcat zum Senden von Daten mit einer relativ einfachen Client-Server-Beziehung bietet es eine potenziell schnellere Alternative zur herkömmlichen Dateifreigabe, wenn Benutzer beim Senden und Empfangen von Daten lieber in der Befehlszeile bleiben möchten und eine Verbindung über SSH oder SFTP nicht möglich ist. t praktisch.

Beachten Sie, dass netcat keine Anmeldung oder Authentifizierung erfordert, die einzige Voraussetzung ist, dass der Client die IP-Adresse des Servers und die Nummer des Überwachungsports kennt. Das 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 reserviert, wo es wenig Risiko gibt. Situationen, in denen Sicherheit wichtig ist, sollten besser SSH verwenden.

Der Einfachheit halber bezeichnen wir Computer 1, der mit netcat lauscht, als „Server“, und wir bezeichnen Computer 2, der die Daten an Computer 1 sendet, als „Client“.

Setze Netcat auf Server (Computer 1) & Port

Wir starten netcat und lassen es auf Port 2999 lauschen und leiten dann alle empfangenen Daten mit der folgenden Befehlszeichenfolge in eine Datei namens „received.txt“ um:

nc -l 2999 > empfangen.txt

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

ipconfig getifaddr en0

Moderne Macs mit nur Wi-Fi verwenden en0, Macs mit Ethernet und Wi-Fi können en1 verwenden. Wenn bei einem nichts auftaucht, versuchen Sie die andere Schnittstelle, um die LAN-IP zu erh alten. Nehmen wir an, diese Macs-IP wird als „192.168.1.101“ gemeldet, natürlich wird Ihre wahrscheinlich variieren. Sie benötigen dies auf dem Client-Computer, um Daten zu senden, was 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 auf den lauschenden Netcat-Server zu übertragen, aber Sie können so ziemlich alles leiten, was Sie wollen:

cat sendthisdataover.txt | nc 192.168.1.101 2999

Damit dies ordnungsgemäß funktioniert, geben Sie unbedingt Ihre eigene IP-Adresse vom Server ein und geben Sie die entsprechende Datei oder den Text ein, den Sie senden möchten.

Unter der Annahme, dass das lokale Netzwerk auch nur geringfügig schnell ist, sollten die Daten ziemlich schnell, wenn nicht sofort, ankommen. Sobald die Datenübertragung abgeschlossen ist, werden beide Seiten der Verbindung beendet und der Server hört auf zu lauschen und schließt dann den Port. Dies macht es effektiv für das einmalige Senden von Daten wie Protokolldateien oder ein großes Textdokument, aber es ist nicht unbedingt praktisch, um viele Dateien zu verschieben.

Wie bereits erwähnt, können Sie so gut wie alle Daten per Pipe-over übertragen, egal ob es sich um die Ausgabe einer anderen App, Tail oder Cat handelt oder sogar direkt aus der Zwischenablage mit pbcopy und pbpaste ausgegeben wird, sie werden übertragen netcat.

Es sollte beachtet werden, dass es bequemere Möglichkeiten gibt, eine Zwischenablage zwischen Macs oder zwischen einem Mac und Linux- oder Windows-Rechnern gemeinsam zu nutzen, und in diesen Situationen ist es besser, kostenlose Tools wie Teleport für Mac zu verwenden. to-Mac Input Sharing oder das kostenlose Synergy-Dienstprogramm, wenn Sie plattformübergreifend zwischen Macs und PCs wechseln. Beide ermöglichen es einem Benutzer, Daten aus der Zwischenablage sowie Eingabegeräte wie Maus und Tastatur gemeinsam zu nutzen.

Fürs Protokoll, obwohl 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 oder umgekehrt zu senden.

Es gibt unzählige andere großartige Anwendungen für Netcat. Wenn Sie irgendwelche Favoriten haben, teilen Sie uns dies in den Kommentaren mit!

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