Senden von Dateien über netcat

Ich verwende so etwas, um Dateien von einem Computer an einen anderen zu senden:

Zum Bereitstellen der Datei (auf Computer A):

cat something.zip | nc -l -p 1234

Zum Empfangen der Datei (auf Computer B):

netcat server.ip.here. 1234 > something.zip

Meine Frage ist... kann ich das Gegenteil tun? Angenommen, ich habe eine Datei auf Computer B und möchte sie an A senden, aber nicht so, wie ich oben geschrieben habe, sondern indem Computer, der die Datei empfangen soll (A), Server "abhört" und Computer verbindet, der die Datei "sendet" (B) an 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 durcheinander ist: Wie sende ich eine Datei AN 'Server', anstatt die Datei auf dem Server bereitzustellen und sie dann davon zu nehmen (wie oben)?

Author: Phil, 2010-01-20

5 answers

Auf Ihrem Server (A):

nc -l -p 1234 -q 1 > something.zip < /dev/null
Auf Ihrem " Absender-Client "(B):
cat something.zip | netcat server.ip.here 1234
 54
Author: martinwguy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-01-20 15:18:25

Wenn Sie auch Dateiberechtigungen, Eigentumsrechte und Zeitstempel beibehalten möchten, verwenden wir tar mit netcat, um Verzeichnisse und Dateien zu übertragen.

Auf erhalt system:

nc -l -p 12345 -q 1 | tar xz -C /path/to/root/of/tree

Vom Sendesystem:

tar czf - ./directory_tree_to_xfer | nc <host name or IP address of receiving system> 12345 

Hoffe, das hilft.

 7
Author: B.Kaatz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-02-26 23:25:54

- Computer Ein: nc -l -p 1234 > filename.txt

Computer B: nc server.com 1234 < filename.txt

Sollte auch funktionieren ;)

 4
Author: mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-12-06 16:27:20

Starten Sie eine weitere Instanz von netcat auf Computer B. Tun Sie einfach, was Sie auf Computer A getan haben, aber servieren Sie es von B. Geben Sie dem neuen Server einen neuen Port.

 0
Author: DaveParillo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-01-20 04:59:16

Init das Ziel, das den Port abhört. AKA Empfänger Ende

nc -vl 44444 > pick_desired_name_for_received_file

Senden Sie die Datei an das Ziel. AKA sender Ende

nc -n TargetIP 44444 < /path/to/file/you/want/to/send

Weiterlesen https://www.maketecheasier.com/netcat-transfer-files-between-linux-computers/ https://gist.github.com/A1vinSmith/78786df7899a840ec43c5ddecb6a4740

 0
Author: Alvin Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-01 07:01:50