Auf deinem Server (A):
nc -l -p 1234 -q 1> etwas.zip </ dev / nullAuf Ihrem "Absender-Client" (B):
Katze etwas.Zip | netcat server.ip.here 1234
Ich verwende so etwas, um Dateien von einem Computer an einen anderen zu senden:
So stellen Sie eine Datei bereit (auf Computer A):
cat something.zip | nc -l -p 1234
So erhalten Sie eine Datei (auf Computer B):
netcat server.ip.here. 1234 > something.zip
Meine Frage ist ... kann ich das Gegenteil tun? Nehmen wir an, ich habe eine Datei auf Computer B und möchte sie an A senden, aber nicht so, wie ich oben geschrieben habe, sondern indem ich den Computer, der die Datei erhalten soll, (A) als "hörenden" Server und Verbindungscomputer, der die Datei "sendet" ( B) zum Server und senden Sie die Datei? Ist es möglich? Ich denke es könnte sein, aber ich bin mir nicht sicher, wie ich das machen soll.
Falls meine obige Erklärung falsch ist: Wie sende ich die Datei an den 'Server', anstatt die Datei auf dem Server zu liefern und sie dann daraus zu entfernen (wie oben beschrieben)?
Auf deinem Server (A):
nc -l -p 1234 -q 1> etwas.zip </ dev / nullAuf Ihrem "Absender-Client" (B):
Katze etwas.Zip | netcat server.ip.here 1234
Wenn Sie auch Dateiberechtigungen, Besitzrechte und Zeitstempel beibehalten möchten, verwenden wir tar mit netcat, um Verzeichnisse und Dateien zu übertragen.
Auf Empfangssystem:
nc -l -p 12345 -q 1 | tar xz -C /path/to/root/of/tree
Vom sendenden System:
tar czf - ./directory_tree_to_xfer | nc <host name or IP address of receiving system> 12345
Hoffentlich hilft das.
Starten Sie eine weitere Instanz von netcat auf Computer B. Führen Sie einfach das aus, was Sie auf Computer A getan haben, aber stellen Sie es von B bereit. Geben Sie dem neuen Server einen neuen Port.
Computer A: nc -l -p 1234 > filename.txt
Computer B: nc server.com 1234 < filename.txt
Sollte auch funktionieren;)