Netcat (ou nc
) est un outil en ligne de commande polyvalent utilisé pour lire et écrire des données sur des connexions réseau en utilisant les protocoles TCP ou UDP. Il est souvent appelé le "couteau suisse" des outils de réseau en raison de sa simplicité et de sa flexibilité. Netcat est largement utilisé pour des tâches telles que le transfert de fichiers, la création de serveurs simples, le débogage de réseaux, et même pour des tests de sécurité et des audits de pénétration.
Fonctionnalités Principales de Netcat
- Transfert de Fichiers : Permet de transférer des fichiers entre deux machines.
- Serveur et Client : Peut fonctionner en mode serveur ou client.
- Port Scanning : Peut être utilisé pour scanner des ports ouverts sur une machine.
- Proxy : Peut être utilisé comme un proxy simple.
- Débogage de Réseau : Utile pour tester et déboguer des connexions réseau.
- Tunneling : Peut être utilisé pour créer des tunnels réseau.
Installation de Netcat
Netcat est disponible sur la plupart des distributions Linux et peut également être installé sur Windows et macOS.
Sur Debian/Ubuntu
sudo apt-get update
sudo apt-get install netcat
Sur Fedora
sudo dnf install nc
Sur macOS
Netcat est préinstallé sur macOS. Vous pouvez également installer une version plus récente via Homebrew :
brew install netcat
Sur Windows
Vous pouvez télécharger Netcat pour Windows depuis des sources fiables comme Nmap et suivre les instructions d'installation.
Utilisation de Base
1. Transfert de Fichiers
Pour transférer un fichier entre deux machines :
Sur la machine réceptrice (serveur) :
nc -l -p 1234 > received_file
Sur la machine émettrice (client) :
nc 192.168.1.100 1234 < file_to_send
2. Créer un Serveur Simple
Pour créer un serveur simple qui écoute sur un port spécifique :
nc -l -p 1234
3. Se Connecter à un Serveur
Pour se connecter à un serveur qui écoute sur un port spécifique :
nc 192.168.1.100 1234
4. Scanner des Ports
Pour scanner des ports ouverts sur une machine :
nc -zv 192.168.1.100 20-100
5. Utiliser Netcat comme Proxy
Pour utiliser Netcat comme un proxy simple :
nc -l -p 1234 -c "nc 192.168.1.100 80"
Exemples de Ligne de Commande
Utiliser Netcat pour le Tunneling SSH
Vous pouvez utiliser Netcat pour créer un tunnel SSH.
Sur la machine intermédiaire :
ssh -R 1234:localhost:22 user@remote_machine
Sur la machine locale :
nc localhost 1234
Cela redirige les connexions SSH de la machine locale vers la machine intermédiaire, puis vers la machine distante.
Utiliser Netcat pour le Débogage de Réseau
Vous pouvez utiliser Netcat pour déboguer des connexions réseau en écoutant sur un port spécifique et en affichant les données reçues.
Sur la machine serveur :
nc -l -p 1234 -v
Cela affiche les connexions entrantes et les données reçues sur le port 1234.
Utiliser Netcat pour le Test de Bande Passante
Vous pouvez utiliser Netcat pour tester la bande passante entre deux machines.
Sur la machine serveur :
nc -l -p 1234 > /dev/null
Sur la machine client :
dd if=/dev/zero bs=1M count=100 | nc 192.168.1.100 1234
Cela envoie 100 Mo de données de la machine client à la machine serveur et mesure la vitesse de transfert.
Utiliser Netcat pour le Transfert de Fichiers avec Chiffrement
Vous pouvez utiliser Netcat avec openssl
pour transférer des fichiers de manière sécurisée.
Sur la machine serveur :
openssl enc -aes-256-cbc -salt -in file_to_send -out file_to_send.enc -k password nc -l -p 1234 < file_to_send.enc
Sur la machine client :
nc 192.168.1.100 1234 > received_file.enc openssl enc -d -aes-256-cbc -in received_file.enc -out received_file -k password
Cela chiffre le fichier avant de le transférer et le déchiffre après réception.
Conclusion
Netcat est un outil extrêmement polyvalent et puissant pour les tâches de réseau. Il est utilisé pour une variété de tâches, allant du transfert de fichiers à la création de serveurs simples, en passant par le débogage de réseaux et les tests de sécurité. Pour les débutants, il est recommandé de commencer par les fonctionnalités de base comme le transfert de fichiers et la création de serveurs simples, puis de progresser vers des fonctionnalités plus avancées comme le scanning de ports et l'utilisation de Netcat comme proxy.
N'oubliez pas de consulter la documentation officielle de Netcat pour des informations plus détaillées et des tutoriels supplémentaires. Vous pouvez également explorer les options supplémentaires et les fonctionnalités avancées pour tirer le meilleur parti de cet outil.
Liens :
https://www.ionos.fr/digitalguide/serveur/outils/netcat/
https://blog.desdelinux.net/fr/usando-netcat-algunos-comandos-practicos/
https://www.it-connect.fr/a-la-decouverte-de-lutilitaire-netcat-sur-linux/
Youtube :