Comment partager simplement des fichiers entre 2 pc linux ?

Besoin de récupérer rapidement des fichiers ou des infos  stockés sur le pc d’un ami ? Le tout en passant uniquement par le réseau local et sans installer de logiciel supplémentaire ou configurer de services? C’est possible:

Avec Python

Soit 2 pc dans le même sous-réseau :

  • pc A -> serveur
  • pc B->client

Sur pc A:

Exécuter la commande suivante pour partager le dossier Téléchargements de votre PC:

cd ~/Téléchargements && python3 -m http.server

Un message nous confirme le lancement du service web sur le port 8000.

Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/

python server

Sur pc B:

Sur le pc client, aller dans firefox et taper:

http://@ip_PC_A:8000

client.server.web.python

Et voilà, vous avez désormais accès à tous les fichiers du répertoire que PC A a bien voulu partager avec vous. Ne pas oublier de quitter la commande avec ctrl+C, une fois que le fichier est récupéré.

Avec Netcat

L’incontournable couteau suisse du réseau , netcat installé sur toutes les bonnes distribs Linux.

Sur le pc qui souhaite partager un fichier spécifique:
nc -vv -l -p 1338 < fichier.txt

ici on choisit de faire écouter netcat sur le port 1338, port choisi arbitrairement pour l’exemple. Vérifier que le parefeu ne le bloque pas sinon modifier les règles ou choisir un autre port qui lui serait ouvert.

netcat_partage_file

Sur le pc qui veut récupérer le fichier :
nc @ipPcQuiEnvoie port > fichier.txt

netcat_recup_file

 Attention , dans les deux méthodes que j’ai données, la sécurité a été laissée de côté au profit de la simplicité. Une personne malintentionnée en MITM n’aurait aucun mal à récup les infos.

On notera que pour netcat on peut utiliser cryptcat, mais du coup ce dernier requiert de le télécharger ce qui n’était pas dans le cahier des charges initial de ce billet 😛

[edit 15.07.2019]
Pour ceux qui souhaiteraient tester cryptcat, je vous conseille le très bon tuto d’Hedi

10 commentaires sur Comment partager simplement des fichiers entre 2 pc linux ?

  1. Bonjour.
    On a aussi la possibilité d’utiliser DUKTO (comme ductil : avec des tuyaux) dont l’interface est agréable et facile à comprendre.
    https://forums.linuxmint.com/viewtopic.php?f=63&t=202556
    Bien entendu on n’apprend pas, comme le montre ton excellent article, à le faire avec conscience des liens entre PC, mais en ce qui concerne mon épouse et mes enfants (6 PC à la maison) ça les arrange mieux d’utiliser DUKTO…

    • @toto merci pour l’info , je ne connaissais pas DUKTO comme moyen de partage, j e testerai un de ces 4. Mais du coup , il n’est pas installé de base sur le système d’exploitation , faut aller le télécharger. Et mon but,c’était de faire avec les programmes existants.

    • Le service netcat ou web local tourne uniquement le temps de l’échange de fichiers en local. On le coupe dès qu’on a fini.J’attirais juste l’attention sur le fait que la communication n’étais pas chiffrée et que potentiellement c’est exposé aux attaques MITM. M’enfin,si tel était le cas dans ton réseau , je pense que tu auras bien d’autres soucis à te faire 😉

  2. Yep ça c’est l’idéal !
    mais faut des droits privilégiés pour démarrer le service opensssh
    Un minimum de config pour définir un utilisateur , le chrooter etc…
    Et dans le scénario , tes pressé et tu n’as pas forcément tous les droits systemes

Leave a Reply

Votre adresse de messagerie ne sera pas publiée.


*