Envoyer des données à travers des ordinateurs en réseau avec Netcat en utilisant la ligne de commande

Netcat est un puissant outil en ligne de commande qui peut lire et écrire des données sur une connexion réseau en utilisant TCP/IP, il est couramment utilisé pour les relais, le transfert de fichiers, le balayage de ports, entre autres. Bien que Netcat soit issu des mondes Unix et Linux, Netcat est également intégré à Mac OS X, et nous allons utiliser l'utilitaire nc comme un moyen facile d'envoyer des données et d'autres textes sur deux ordinateurs en réseau.

En utilisant netcat pour envoyer des données avec une relation client et serveur assez simple, il offre une alternative potentiellement plus rapide au partage de fichiers traditionnel lorsque les utilisateurs préfèrent rester en ligne de commande pendant l'envoi et la réception des données, et lorsque la connexion via SSH ou SFTP n'est pas pratique.

Notez que netcat ne nécessite aucune connexion ou authentification, la seule exigence est que le client connaisse l'adresse IP du serveur et le numéro de port d'écoute. Il est donc préférable de réserver l'utilisation de netcat pour l'envoi de données et de textes aux utilisateurs avancés, ou de l'utiliser exclusivement derrière un réseau local protégé où le risque est faible. Dans les situations où il est important de mettre l'accent sur la sécurité, il serait préférable d'utiliser le protocole SSH.

Pour plus de facilité, nous appellerons "serveur" l'ordinateur 1 qui écoute avec netcat, et "client" l'ordinateur 2 qui envoie les données à l'ordinateur 1.

Régler Netcat pour écouter sur le serveur (ordinateur 1) et le port

Nous allons lancer netcat et le faire écouter sur le port 2999, puis rediriger toutes les données reçues vers un fichier nommé "received.txt" avec la chaîne de commande suivante :

Lire aussi :  Prise en charge de TRIM SSD activée dans Mac OS X 10.6.8 Update

nc -l 2999> received.txt

Avant d'appeler le client, vous devez avoir l'adresse IP du Mac sur le réseau local. Vous pouvez l'obtenir à partir du panneau de contrôle du réseau, ou, puisque vous êtes déjà au terminal, via la ligne de commande avec la syntaxe suivante :

ipconfig getifaddr en0

Les Macs modernes avec Wi-Fi uniquement utiliseront en0, les Macs avec ethernet & wifi peuvent utiliser en1. Si l'un d'entre eux ne donne rien, essayez l'autre interface pour obtenir l'IP du réseau local. Supposons que l'adresse IP de ce Mac soit "192.168.1.101", bien sûr la vôtre est susceptible de varier. Vous en aurez besoin sur l'ordinateur client pour envoyer des données, ce dont nous parlerons plus loin.

Pipe Data from Client (Computer 2) to the Listening Server

Maintenant, sur le client à partir duquel vous souhaitez envoyer des données, vous pouvez utiliser une commande comme la suivante. Nous utiliserons cat pour envoyer un fichier texte par le réseau au serveur netcat qui écoute, mais vous pouvez envoyer à peu près tout ce que vous voulez :

cat sendthisdataover.txt | nc 192.168.1.101 2999

Pour que cela fonctionne correctement, veillez à indiquer votre propre adresse IP à partir du serveur et à choisir le fichier ou le texte approprié que vous souhaitez envoyer.

En supposant que le réseau local soit même marginalement rapide, les données devraient arriver assez vite, voire instantanément. Une fois le transfert de données terminé, les deux côtés de la connexion cesseront et le serveur cessera d'écouter, puis fermera le port. Cela est efficace pour l'envoi ponctuel de données comme des fichiers journaux ou un gros document texte, mais ce n'est pas nécessairement pratique pour le transfert de nombreux fichiers.

Lire aussi :  Comment lire le fichier de capture de paquets .cap sur Mac OS X avec tcpdump

Comme nous l'avons déjà mentionné, vous pouvez transférer à peu près n'importe quelle donnée, donc que ce soit la sortie d'une autre application, la queue, le chat, ou même directement depuis le presse-papiers avec pbcopy et pbpaste, elle sera transférée par netcat.

Il convient de noter qu'il existe des moyens plus pratiques de partager un presse-papiers entre Macs ou entre un Mac et des machines Linux ou Windows, et dans ces situations, il est préférable d'utiliser des outils gratuits comme Teleport pour le partage des entrées Mac-to-Mac, ou l'utilitaire gratuit Synergy si vous allez sur une plate-forme croisée entre Macs et PC. Ces deux outils permettent à l'utilisateur de partager des données du presse-papiers ainsi que des périphériques de saisie tels que la souris et le clavier.

Pour information, bien que cette démonstration soit présentée sur deux Macs avec OS X, il n'y a aucune raison pour que vous ne puissiez pas utiliser netcat pour envoyer des données entre une machine Mac et une machine Linux, ou vice versa.

Il existe des tonnes d'autres utilisations intéressantes pour le netcat, si vous avez des favoris, faites-le nous savoir dans les commentaires !

Click to rate this post!
[Total: 1 Average: 5]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *