Netcat

De Wiki doc

Révision datée du 14 novembre 2019 à 00:08 par Ycharbi (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Netcat permet de gérer des sockets réseaux UNIX. Il peut être utilisé par d'autre programmes pour réaliser des actions distantes et peut nous permettre de réaliser des actions souvent fastidieuses quand on travail en équipe comme le partage de texte, fichiers ou le copier/collé à travers le réseau.

Installation

Netcat est disponible dans les dépôts Debian.

apt install netcat

Une version Windows est également disponible (ce qui peut être utile vu que ce système ne dispose pas de serveur SSH de base)

ASTUCE

Netcat est également présent dans busybox, ce qui évite de l'installer.

Utilisation

Créer un chat

Toute phrase tapée sur l'une ou sur l'autre des deux machines partagera sont texte avec l'autre.

En TCP

Sur le serveur

nc -l -p 2323

Sur le client

nc 192.168.180.16 2323

En UDP

Sur le serveur

nc -l -u -p 2323

Sur le client

nc -u 192.168.180.16 2323

Rediriger une entrée/sortie

Nous pouvons rediriger le contenu d'un fichier comme ceci:

nc -l -p 2323 < foo.txt 

Journaliser la discussion

nc -l -p 2323 > discussion.log

Le contenu d'une commande, comme ceci:

ls / | nc -l -p 2323

Permettre une connexion distante (non chiffrée)

Sur le serveur

ncat -v -l -p 2323 -e /bin/sh

Sur le client

nc 192.168.180.16 2323

Transfère de fichier

Sur le serveur

cat foo.txt | ncat -v -l -p 2323

Sur le client

ncat 192.168.180.16 2323 >foo.txt

Scan de ports

Scanner du port TCP 1 à 1024 (ajouter -u pour UDP)

nc -v -n -z -w 1 192.168.180.16 1-1024

Scan aléatoire des ports 21, 22, 23 et 80 à 160 avec un intervalle de 3 secondes

Semble ne pas fonctionner.

nc -vv -i 3000 -r -z 192.168.180.16 21 22 23 80-160

Transférer de la voix

Non testé

Sur le serveur

nc -l -u -p 2323 < /dev/audio > /dev/audio

Sur le client

nc -u IP_SERV 1337 < /dev/audio > /dev/audio

Tester la bande passante

Netcat peut être utilisé comme Iperf.

Sur le serveur

nc -l -n -p 20000 > /dev/null

Sur le client

dd if=/dev/zero bs=100M count=1 | nc -q 1 IP_SERV 20000

Cryptcat

Une version légère de netcat, enrichi avec le chiffrement Twofish est disponible dans les dépôts se nommant Cryptcat. Elle s'utilise de la même manière mais chiffre le fichier avant l'envoi. Il est à noter que cela protège uniquement du man in the middle mais comme le serveur ne demande aucune authentification, un tiers peut très bien télécharger un fichier directement depuis le serveur comme vous et l'aura en claire sur son disque dur.

Sources