Utilisez NetCat pour transférer des fichiers

Utilisez NetCat pour transférer des fichiers

Ce tutoriel offre une explication facile sur la façon d'utiliser NetCAT pour transférer des fichiers entre les appareils.

NetCat est un outil réseau de ligne de commande utilisé pour établir des connexions TCP / UDP et une analyse réseau. Les fonctionnalités NetCAT incluent:

  • Connexions sortantes et entrantes, TCP ou UDP, vers ou depuis tous les ports
  • Il peut être utilisé pour ouvrir les ports locaux
  • Prend en charge le transfert de fichiers entre les appareils
  • NetCAT peut être utilisé pour scanner les ports.
  • Netcat peut être utilisé pour la saisie des bannières
  • Vérification complète de DNS en avant / revers, avec des avertissements appropriés
  • Possibilité d'utiliser toute adresse source de réseau configurée localement
  • Capacités de balayage de port intégrées, avec randomisation
  • Capacité de routage à source lâche intégrée
  • Mode lent-sens, une ligne toutes les n secondes
  • Décharge hexiste de données transmises et reçues
  • Capacité facultative pour laisser un autre service de programme établir des connexions
  • Répondeur en option des Telnet-Options

Installation de NetCAT:

Avant de commencer, je veux clarifier que bien que j'utilise la commande «netcat» dans ce tutoriel, vous pouvez également utiliser la commande «NC."

Pour démarrer, installez NetCAT en exécutant la commande illustrée ci-dessous dans les distributions Linux basées à Debian.

sudo apt installer netcat

Pour installer Netcat sur Red Hat ou Centos Run:

Yum Install -y NC

Vous devez répéter le processus dans tous les appareils que vous souhaitez transférer des données entre. Pour ce tutoriel, j'ai créé une machine virtuelle avec IP 192.168.1.102.

Pour ce tutoriel, j'utiliserai également la commande PV qui par défaut dans les distributions Linux. Cette commande est utilisée pour afficher les progrès du transfert de fichier de progression.

Pour l'installer, exécutez:

sudo apt install pv

Envoi d'un fichier à l'aide de netcat:

Dans cet exemple, l'appareil 192.168.1.102 recevra le fichier; Un autre appareil l'enverra. À partir du dispositif de réception, exécutez la commande suivante en remplacement de Linuxhint.Deb avec le nom du fichier réel que vous souhaitez transférer. L'option -l (écoute pour les connexions entrantes) demande à Netcat d'écouter les connexions entrantes sur le port 9899.

netcat -l 9899> [nom de fichier]

Comme vous pouvez le voir, Netcat reste à écouter sur le port 9899, ​​en attendant le fichier. Maintenant, à partir du périphérique d'expéditeur, exécutez la commande ci-dessous, en remplaçant l'adresse IP par l'IP de votre périphérique récepteur et LinuxHint.Deb avec le nom du fichier. L'option -W est utilisée pour définir le délai d'expiration en secondes.

Netcat -W 2 192.168.1.102 9899 < [FileName]

Comme vous pouvez le voir ci-dessous, le fichier Linuxhint.Deb a été transféré dans le répertoire actuel du côté récepteur.

Si vous n'avez pas le fichier à envoyer dans le répertoire actuel ou si le récepteur ne veut pas le stocker dans le répertoire actuel, il est possible de définir un chemin.

Dans l'exemple ci-dessous, le récepteur stockera le fichier Linuxhint.Deb dans le répertoire Linuxhint.

Dans l'exemple ci-dessous, l'expéditeur a le fichier qu'il souhaite envoyer dans le sous-répertoire LinuxHint2:

Comme vous pouvez le voir, le fichier a été stocké avec succès dans le répertoire LinuxHint du récepteur.

Affichage des progrès dans les transferts de fichiers:

Vous pouvez également implémenter la commande PV pour afficher les progrès des transferts de fichiers. Du côté récepteur, ajoutez un tuyau suivi par le PV de commande utilisé pour surveiller la progression des données via un tuyau et la spécification de fichier entrant.

Netcat -L 9899 | PV> Linuxhint

Ensuite, sur le périphérique d'expéditeur, exécutez la commande expliquée dans les exemples précédents comme indiqué ci-dessous.

NC -W 2 192.168.1.102 9899 < users.txt

La sortie PV peut être modifiée pour modifier les unités de fichiers; Vérifiez la page de l'homme de cette commande pour afficher les progrès dans d'autres unités que les octets.

Comprimer et envoyer un répertoire à l'aide de NetCAT:

En utilisant les commandes ci-dessous, vous pouvez compresser et envoyer un répertoire.

Sur le périphérique récepteur, tapez la commande ci-dessous, en remplaçant LinuxHint2 pour le nom du répertoire compressé que vous souhaitez recevoir de cet appareil.

NetCat -L 9899> Linuxhint2

Sur le périphérique d'expéditeur, exécutez la commande ci-dessous, en remplaçant LinuxHint2 par le nom du répertoire que vous souhaitez compresser et envoyer. Remplacez également l'IP 192.168.1.102 avec l'adresse IP de votre récepteur.

TAR CFVZ - LinuxHint2 | Netcat -W 2 192.168.1.102 9899 Linuxhint2 /

Comme vous pouvez le voir, le fichier a été reçu correctement et extrait à l'aide de la commande ci-dessous:

TAR XVZF

Le répertoire LinuxHint2 a été extrait avec son contenu.

Transfert d'un disque ou d'une partition entier à l'aide de NetCAT:

Vous pouvez également transférer un disque ou une partition entier à l'aide de Netcat avec les commandes illustrées ci-dessous. Dans l'exemple ci-dessous, je transférerai une partition de disque externe à une partition latérale de réception.

Du côté récepteur, saisissez la commande suivante, en remplaçant le port par celui que vous utilisez et le disque de destination ou la partition par le vôtre.

Netcat 9899 -l | BZIP2 -D | dd de = / dev / sdb

Du côté d'envoi, exécutez la commande suivante en remplaçant le disque ou la partition (SDB1), votre adresse IP et votre port de récepteur.

bzip2 -c / dev / sdb1 | Netcat 192.168.1.102 9899

Dans mon cas, mon dispositif de lecteur était plein, mais nous pouvons voir la procédure terminée.

Si vous montez l'appareil où vous avez stocké la sauvegarde, vous devez voir les données du point de montage.

mont / dev / sdb / média

Conclusion:

Le transfert de fichiers est l'une des meilleures fonctionnalités NetCAT.

Dans le tutoriel précédent sur NetCAT pour le port de port, la conclusion n'était pas favorable à ce programme avant des alternatives comme NMAP. Parmi les limitations générales de Netcat, nous voyons qu'il ne prend pas en charge la numérisation de plusieurs ports. Les transferts de fichiers ne sont pas cryptés et un attaquant peut lancer un homme dans l'attaque moyenne pour intercepter les données dans un transfert de fichier NetCat.

Il est important de clarifier le transfert de fichiers sur NetCat n'est pas un choix sûr si les mesures de chiffrement ne sont pas mises en œuvre. NetCAT n'inclut pas les fonctionnalités de chiffrement, mais elle peut être combinée avec PGP ou des alternatives abordant ce problème comme CryptCat, qui est très similaire à NetCat avec peu de différences: CryptCat ne prend pas en charge les options -T pour la négociation Telnet et ne prend pas en charge le délai de STDIN (-Q). De l'autre côté, CryptCat ajoute de nouvelles fonctionnalités comme le chiffrement. D'autres alternatives sécurisées incluent les transferts de fichiers sur le protocole SSH (SCP).

J'espère que ce tutoriel a été utile. Continuez à suivre l'astuce Linux pour plus de conseils et de tutoriels Linux.