J'utilise quelque chose comme ceci pour envoyer des fichiers d'un ordinateur à un autre:
Pour servir un fichier (sur l'ordinateur A):
cat something.Zip | nc -l -p 1234
Pour recevoir le fichier (sur l'ordinateur B):
netcat server.ip.here. 1234 > something.Zip
Ma question est ... puis-je faire le contraire? Supposons que j'ai un fichier sur l'ordinateur B et que je souhaite l'envoyer à A, mais pas comme je l'ai écrit ci-dessus, mais en faisant en sorte que l'ordinateur qui est censé recevoir le fichier (A) soit un serveur "à l'écoute" et connecte l'ordinateur qui B) au serveur et envoyer le fichier? C'est possible? Je pense que cela pourrait être le cas mais je ne sais pas comment faire cela.
Dans le cas où mon explication ci-dessus est fausse: Comment puis-je envoyer le fichier VERS 'serveur' au lieu de le servir sur le serveur et de le prendre ensuite (comme je l'ai fait ci-dessus)?
Sur votre serveur (A):
nc -l -p 1234 -q 1> quelque chose.zip </dev/null
chat quelque chose.Zip | netcat server.ip.here 1234
Veuillez noter que si vous souhaitez également conserver les autorisations de fichiers, la propriété et les horodatages, nous utilisons tar avec netcat faire des transferts de répertoires et de fichiers.
Sur le système de réception:
nc -l -p 12345 -q 1 | tar xz -C /path/to/root/of/tree
Du système d'envoi:
tar czf - ./directory_tree_to_xfer | nc <Host name or IP address of receiving system> 12345
J'espère que cela pourra aider.
Démarrez une autre instance de netcat sur l'ordinateur B. Faites ce que vous avez fait sur l'ordinateur A, mais transmettez-le depuis B. Donnez un nouveau port au nouveau serveur.
Ordinateur A: nc -l -p 1234 > filename.txt
Ordinateur B: nc server.com 1234 < filename.txt
Devrait travailler aussi;)