Dateiübertragung mit Netcat
In diesem Schritt lernen Sie, wie Sie netcat verwenden, um Dateien zwischen Systemen zu übertragen, eine praktische Anwendung, die die Vielseitigkeit von netcat über die einfache Textkommunikation hinaus demonstriert.
Netcat für die Dateiübertragung verstehen
Netcat kann verwendet werden, um Dateien zwischen Computern zu übertragen, indem:
- Die Eingabe von einer Datei auf der Senderseite umgeleitet wird
- Die Ausgabe auf eine Datei auf der Empfängerseite umgeleitet wird
Dieser Ansatz erfordert keine zusätzlichen Protokolle wie FTP oder SCP, was ihn in Szenarien nützlich macht, in denen diese Tools möglicherweise nicht verfügbar sind.
Einrichten des Empfängers
Richten wir zunächst das empfangende Ende ein, das die Datei akzeptiert. Öffnen Sie ein Terminal und führen Sie aus:
nc -l -p 7000 > received_file.txt
Dieser Befehl:
- Richtet einen lauschenden Server auf Port 7000 ein
- Leitet alle empfangenen Daten in eine Datei namens
received_file.txt
um
Erstellen einer Testdatei zum Senden
Erstellen wir vor dem Senden eine Beispieldatei, die übertragen werden soll. Führen Sie in einem neuen Terminal aus:
echo "This is a test file that will be transferred using netcat." > original_file.txt
echo "Netcat can be used for simple file transfers between systems." >> original_file.txt
echo "This demonstrates a practical use case of the nc command." >> original_file.txt
## View the file contents to confirm
cat original_file.txt
Sie sollten den Inhalt der Datei im Terminal sehen.
Senden der Datei
Senden wir nun die Datei an den Empfänger. Führen Sie im selben Terminal, in dem Sie die Datei erstellt haben, aus:
cat original_file.txt | nc localhost 7000
Dieser Befehl:
- Liest den Inhalt von
original_file.txt
mit cat
- Leitet (
|
) diesen Inhalt an netcat weiter
- Netcat sendet die Daten an localhost auf Port 7000
Die Übertragung erfolgt sofort. Nach Abschluss der Übertragung wird der netcat-Prozess auf der Senderseite automatisch beendet, aber die Empfängerseite wartet weiterhin auf weitere Daten.
Überprüfen der Übertragung
Sobald die Datei gesendet wurde, drücken Sie Strg+C
im Empfängerterminal, um die Verbindung zu schließen. Überprüfen wir nun, ob die Datei korrekt übertragen wurde:
cat received_file.txt
Sie sollten denselben Inhalt sehen, der sich in der ursprünglichen Datei befand, was eine erfolgreiche Übertragung bestätigt.
Vergleichen der Dateien
Um sicherzustellen, dass die Übertragung perfekt war, können Sie die beiden Dateien vergleichen:
diff original_file.txt received_file.txt
Wenn keine Ausgabe erfolgt, bedeutet dies, dass die Dateien identisch sind und die Übertragung erfolgreich war.
Diese Dateiübertragungsmethode funktioniert nicht nur auf einem lokalen Rechner, sondern auch zwischen verschiedenen Computern in einem Netzwerk. Sie würden einfach localhost
durch die IP-Adresse oder den Hostnamen des Remote-Rechners ersetzen.
Diese Technik kann besonders nützlich in Umgebungen sein, in denen herkömmliche Dateiübertragungswerkzeuge nicht verfügbar oder eingeschränkt sind, was netcat zu einem wertvollen Werkzeug im Werkzeugkasten eines Systemadministrators macht.