Transfert de fichiers avec Netcat
Dans cette étape, vous apprendrez comment utiliser netcat pour transférer des fichiers entre des systèmes, une application pratique qui démontre la polyvalence de netcat au-delà de la simple communication textuelle.
Comprendre Netcat pour le transfert de fichiers
Netcat peut être utilisé pour transférer des fichiers entre des ordinateurs en :
- Redirigeant l'entrée d'un fichier du côté de l'expéditeur
- Redirigeant la sortie vers un fichier du côté du récepteur
Cette approche ne nécessite aucun protocole supplémentaire comme FTP ou SCP, ce qui la rend utile dans les scénarios où ces outils pourraient ne pas être disponibles.
Configuration du récepteur
Tout d'abord, configurons l'extrémité réceptrice qui acceptera le fichier. Ouvrez un terminal et exécutez :
nc -l -p 7000 > received_file.txt
Cette commande :
- Configure un serveur en écoute sur le port 7000
- Redirige toutes les données reçues vers un fichier nommé
received_file.txt
Création d'un fichier de test à envoyer
Avant d'envoyer, créons un exemple de fichier à transférer. Dans un nouveau terminal, exécutez :
echo "This is a test file that will be transferred using netcat." > original_file.txt
echo "Netcat can be used for simple file transfers between systems." >> original_file.txt
echo "This demonstrates a practical use case of the nc command." >> original_file.txt
## View the file contents to confirm
cat original_file.txt
Vous devriez voir le contenu du fichier affiché dans le terminal.
Envoi du fichier
Maintenant, envoyons le fichier au récepteur. Dans le même terminal où vous avez créé le fichier, exécutez :
cat original_file.txt | nc localhost 7000
Cette commande :
- Lit le contenu de
original_file.txt en utilisant cat
- Canalise (
|) ce contenu vers netcat
- Netcat envoie les données à localhost sur le port 7000
Le transfert se produit immédiatement. Une fois le transfert terminé, le processus netcat du côté de l'envoi se fermera automatiquement, mais le côté réception continuera d'attendre d'autres données.
Vérification du transfert
Une fois le fichier envoyé, appuyez sur Ctrl+C dans le terminal du récepteur pour fermer la connexion. Maintenant, vérifions que le fichier a été transféré correctement :
cat received_file.txt
Vous devriez voir le même contenu que celui du fichier d'origine, confirmant un transfert réussi.
Comparaison des fichiers
Pour vous assurer que le transfert était parfait, vous pouvez comparer les deux fichiers :
diff original_file.txt received_file.txt
S'il n'y a pas de sortie, cela signifie que les fichiers sont identiques et que le transfert a réussi.
Cette méthode de transfert de fichiers fonctionne non seulement sur une machine locale, mais aussi entre différents ordinateurs sur un réseau. Vous remplacerez simplement localhost par l'adresse IP ou le nom d'hôte de la machine distante.
Cette technique peut être particulièrement utile dans les environnements où les outils de transfert de fichiers traditionnels ne sont pas disponibles ou sont restreints, faisant de netcat un outil précieux dans la boîte à outils d'un administrateur système.