« Netcat » : différence entre les versions

De Wiki doc

Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
[[Category:Réseaux linux]]
[[Category:Réseaux linux]]
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, copier/collé à travers le réseau.
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=
=Installation=
Netcat est disponible dans les dépôts Debian.
Netcat est disponible dans les dépôts Debian.
  apt install netcat
  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)
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#Netcat|busybox]], ce qui évite de l'installer.}}
{{astuce|Netcat est également présent dans [[Busybox#Netcat|busybox]], ce qui évite de l'installer.}}


Ligne 10 : Ligne 13 :
==Créer un chat==
==Créer un chat==
Toute phrase tapée sur l'une ou sur l'autre des deux machines partagera sont texte avec l'autre.
Toute phrase tapée sur l'une ou sur l'autre des deux machines partagera sont texte avec l'autre.
===En TCP===
===En TCP===
'''Sur le serveur'''
'''Sur le serveur'''
  nc -l -p 2323
  nc -l -p 2323
'''Sur le client'''
'''Sur le client'''
  nc 192.168.180.16 2323
  nc 192.168.180.16 2323
===En UDP===
===En UDP===
'''Sur le serveur'''
'''Sur le serveur'''
  nc -l -u -p 2323
  nc -l -u -p 2323
'''Sur le client'''
'''Sur le client'''
  nc -u 192.168.180.16 2323
  nc -u 192.168.180.16 2323
==Rediriger une entrée/sortie==
==Rediriger une entrée/sortie==
Nous pouvons rediriger le contenu d'un fichier comme ceci:
Nous pouvons rediriger le contenu d'un fichier comme ceci:
  nc -l -p 2323 < foo.txt  
  nc -l -p 2323 < foo.txt  
Journaliser la discussion
Journaliser la discussion
  nc -l -p 2323 > discussion.log
  nc -l -p 2323 > discussion.log
Le contenu d'une commande, comme ceci:
Le contenu d'une commande, comme ceci:
  ls / | nc -l -p 2323
  ls / | nc -l -p 2323
Permettre une connexion distante (non chiffrée)
Permettre une connexion distante (non chiffrée)


'''Sur le serveur'''
'''Sur le serveur'''
  ncat -v -l -p 2323 -e /bin/sh
  ncat -v -l -p 2323 -e /bin/sh
'''Sur le client'''
'''Sur le client'''
  nc 192.168.180.16 2323
  nc 192.168.180.16 2323
Transfère de fichier
Transfère de fichier


'''Sur le serveur'''
'''Sur le serveur'''
  cat foo.txt | ncat -v -l -p 2323
  cat foo.txt | ncat -v -l -p 2323
'''Sur le client'''
'''Sur le client'''
  ncat 192.168.180.16 2323 >foo.txt
  ncat 192.168.180.16 2323 >foo.txt
==Scan de ports==
==Scan de ports==
Scanner du port TCP 1 à 1024 (ajouter ''-u'' pour UDP)
Scanner du port TCP 1 à 1024 (ajouter ''-u'' pour UDP)
  nc -v -n -z -w 1 192.168.180.16 1-1024
  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
Scan aléatoire des ports 21, 22,  23 et 80 à 160 avec un intervalle de 3 secondes


''Semble ne pas fonctionner.''
''Semble ne pas fonctionner.''
  nc -vv -i 3000 -r -z 192.168.180.16 21 22 23 80-160
  nc -vv -i 3000 -r -z 192.168.180.16 21 22 23 80-160
==Transférer de la voix==
==Transférer de la voix==
''Non testé''
''Non testé''
Ligne 51 : Ligne 68 :
'''Sur le serveur'''
'''Sur le serveur'''
  nc -l -u -p 2323 < /dev/audio > /dev/audio
  nc -l -u -p 2323 < /dev/audio > /dev/audio
'''Sur le client'''
'''Sur le client'''
  nc -u IP_SERV 1337 < /dev/audio > /dev/audio
  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=
=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.
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=
=Sources=
* http://www.lestutosdenico.com/tutos-de-nico/netcat
* http://www.lestutosdenico.com/tutos-de-nico/netcat
* http://www.binarytides.com/netcat-tutorial-for-beginners/
* http://www.binarytides.com/netcat-tutorial-for-beginners/
* https://www.malekal.com/commandes-reseau-utiles-linux/

Dernière version du 14 novembre 2019 à 00:08

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