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/
Sur pc B:
Sur le pc client, aller dans firefox et taper:
http://@ip_PC_A:8000
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.
Sur le pc qui veut récupérer le fichier :nc @ipPcQuiEnvoie port > fichier.txt
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.
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 sudo ne sert à rien pour le nc
Oups , mea culpa
Oui mais du coup si on sacrifie la sécurité c’est peut-etre pas une si bonne idée que ça.
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 😉
Cool, merci pour le tuyau avec python. On ne sait jamais, ça peut servir ! 😉
@jotux Tant mieux si ca peut te servir un jour, tu men vois ravi 🙂
Y a aussi ssh / scp ou sftp. Ok le serveur ne tourne peut être pas de base…
Sinon ftp
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