Ceci est une ancienne révision du document !
Outils réseaux
Lister les ports ouverts
netstat est dans le paquet net-tools.
netstat -tnlp
-t: TCP-n: ne pas faire de résolution DNS-l: lister les ports-p: affiche le programme associé, nécessaire d’exécuter en tant que root
Le remplaçant de netstat est ss.
Lister les connexions ouvertes
ss -tn
Table ARP
Installer le paquet net-tools
Afficher la table ARP
sudo arp sudo arp -a
Spoofer les tables ARP
arpspoof -i net1 -c both -t 10.2.0.3 -r 10.2.0.2
Dans le paquet dsniff.
Tcpdump
tcpdump -i net1 -X -vvv port 143
Paramètres:
-X: décode les paquets émis/reçus en hexa/ASCII
Netcat
Ecoute sur le port 80
sudo netcat -l -p 80
Ecoute sur le port 80 en restant interactif:
sudo netcat -kl 80
Ne pas envoyer de CRLF lors de la pression du Enter:
nc -C ...
ou
echo -en "GET / HTTP/1.0\r\n\r\n" | nc adresse port
Code Python pour interagir avec netcat (Source):
import socket class Netcat: """ Python 'netcat like' module """ def __init__(self, ip, port): self.buff = "" self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.socket.connect((ip, port)) def read(self, length = 1024): """ Read 1024 bytes off the socket """ return self.socket.recv(length) def read_until(self, data): """ Read data into the buffer until we have data """ while not data in self.buff: self.buff += self.socket.recv(1024) pos = self.buff.find(data) rval = self.buff[:pos + len(data)] self.buff = self.buff[pos + len(data):] return rval def write(self, data): self.socket.send(data) def close(self): self.socket.close()
Samba
Installer le paquet smbclient.
Requêter les partages d'un serveur:
smbclient //ip/ -L
Ouvrir un shell dans un partage:
smbclient //ip/partage
Dans ce shell, les commandes cd, ls, put, get sont disponibles.
L'option -N permet de s'authentifier de façon anonyme.
Avec mount, installer le paquet cifs-utils:
sudo mount -t cifs -o guest,iocharset=utf8 //192.168.12.1/home essai
Changer le DNS pour une application
Utiliser firejail:
firejail --dns=8.8.8.8 application
L'option --quiet indique à firejail de ne pas afficher d'information.
Tester les performances du réseau
Entre deux machines d'un réseau local.
Installer sur les deux machines le paquet iperf.
Sur le serveur :
iperf -s
Sur le client :
iperf -c <ip du serveur>