Un socket, c'est une connexion entre 2 ordinateurs. Pour identifier un socket, il faut 3 trucs:
- Les IPs des 2 ordinateurs connectés.
- Les ports des 2 ordinateurs qui sont connectés.
- Le protocole utilisé.
Par exemple : 192.168.1.1:80
Netcat permet d'ouvrir facilement des connections (TCP ou UDP), et il est disponible pour Linux et Window$
Netcat est déjà intégré dans les depots d'Ubuntu Hardy Heron, alors :
sudo apt-get install netcat
Pour télécharger les souces : netcat_1.10-37.dsc, netcat_1.10.orig.tar.gz et netcat_1.10-37.diff.gz
Quelques commandes utiles en mode client:
- Ouvrir un socket sur un serveur :
nc eu.undernet.org 6667
Ça va vous connectez sur le serveur Undernet (IRC) en Europe, et tout ce que vous taperez ensuite au clavier sera envoyé directement dans le socket, vers Undernet.
Netcat prend en charge complètement le Telnet de meilleure façon. Pour cela utiliser plutot :
nc -t hostname.com 23
C'est valable aussi pour les ports 80, 21, etc...
Quelques commandes utiles en mode serveur:
Pour mettre Netcat en écoute sur un port de votre machine, il suffit d'utiliser les options -L et -p (listen et port) comme ceci :
nc -L -p 80
-L : pour le mettre en mode écoute
-p : mettre le port en écoute en permanence à la fin d'une connexion cliente
Autres options
- -n : pour n'entrer que des adresses ip numériques, pas de noms d'hôtes (mode client).
- -o : pour logguer tous les octets mais en hexadécimal cette fois.
- -w : timeout, permet d'arrêter la tentative de connexion si le temps défini par est dépasse
- -u : ce mode permet de travailler avec le protocole UDP au lieu de TCP (modes client et serveur).
- -s : l'adresse ip locale sur laquelle vous allez vous mettre en écoute.
Dans cet article je ne fais que présenter l'utilitaire avec une petite description de ce qu'il peut faire, biensur tout cela peut être utiliser a des fins "NON PROFESSIONNEL". Pour cela, je m'arrête ici et je vous laisse un libre choix pour l'utilisation :-) ;-)