Viel Software kann helfen, Dateien zwischen mehreren Computern zu übertragen, einschließlich FTP, NFS, Samba und mehr. Eine falsche Konfiguration dieser Dienste kann Ihren Server jedoch anfällig für Angriffe machen. Wenn dies ein Problem darstellt, können Sie Netcat verwenden, um Dateien sicher zwischen mehreren Geräten zu übertragen.
Netcat, auch als „TCP/IP-Schweizer Taschenmesser“ bekannt, ist ein Befehlszeilen-Netzwerktool, mit dem Sie Dateien über lokale Netzwerke oder das Internet übertragen können. Es bietet eine einfachere Möglichkeit, Daten zu übertragen, ohne dass zusätzliche Dienste erforderlich sind.
In dieser Anleitung zeigen wir Ihnen, wie Sie Netcat verwenden, um Dateien unter Linux zu übertragen.
Voraussetzungen
- Ein Linux-Server auf der Atlantic.Net Cloud-Plattform
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Für die Zwecke dieses Tutorials verwenden wir das folgende Setup:
- Absender-Host-IP :69.87.221.67
- Host-IP des Empfängers :45.58.46.205
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu, CentOS oder Rocky Linux als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Oder
dnf update -y
Schritt 2 – Netcat installieren
Für Ubuntu- und Debian-basierte Distributionen installieren Sie Netcat mit dem folgenden Befehl:
apt-get install netcat-openbsd pv -y
Installieren Sie für CentOS- und RHEL-basierte Distributionen Netcat mit dem folgenden Befehl:
dnf install nmap-ncat pv -y
Schritt 3 – Übertragen Sie Dateien zwischen zwei Linux-Rechnern
Erstellen Sie zunächst eine Beispieldatei.txt auf dem Absenderhost.
echo "Transferring file using Netcat" > file.txt
Als nächstes müssen Sie den Befehl nc auf dem Empfängerhost ausführen, von dem Sie die Datei erhalten möchten.
nc -l -p 8585 > file.txt
Dieser Befehl weist nc an, auf Port 8585 auf eingehende Anfragen zu lauschen bis es eine Anfrage erhält. Sobald die Anfrage eingegangen ist, erhält sie die file.txt Datei.
Gehen Sie als Nächstes zum Absenderhost und führen Sie den folgenden Befehl aus, um die file.txt zu senden Datei an den Empfängerhost:
nc -N 45.58.46.205 8585 < /root/file.txt
Schritt 4 – Dateien zwischen zwei Linux-Rechnern übertragen und komprimieren
In diesem Abschnitt zeigen wir Ihnen, wie Sie größere Dateien mit Netcat übertragen und komprimieren.
In diesem Beispiel übertragen wir die ubuntu.iso Datei von einer Maschine auf eine andere.
Auf dem Absender-Rechner, von dem Sie die ubuntu.iso übertragen möchten Datei, führen Sie den folgenden Befehl aus:
tar -zcf - ubuntu.iso | pv | nc -l -p 8585 -q 25
Im obigen Befehl wird tar verwendet, um die Datei zu komprimieren, und der Befehl pv wird verwendet, um den Fortschritt der Datei zu überwachen.
Gehen Sie als Nächstes zum Empfängercomputer und führen Sie den folgenden Befehl aus, um die Datei ubuntu.iso zu erhalten:
nc 69.87.221.67 8585 | pv | tar -zxf -
Schlussfolgerung
Herzliche Glückwünsche! Sie haben mit dem Netcat-Befehl erfolgreich Dateien zwischen zwei Computern übertragen. Sie können jetzt Netcat verwenden, um Dateien über ein sicheres Netzwerk zu übertragen. Probieren Sie es auf Ihrem Virtual Private Server von Atlantic.Net aus.