Créer vos propres outils réseau
Pour construire des scanners personnalisés ou des reverse shells, les professionnels utilisent la programmation de sockets — la manière fondamentale dont les programmes communiquent sur un réseau.
Le module socket
Le module socket de Python fournit l'API standard pour interagir avec les protocoles réseau (TCP/UDP).
Exemple conceptuel : Créer un client TCP basique
python import socket
Créer un socket TCP/IP
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Adresse et port cible
target_ip = '127.0.0.1' target_port = 80
try: # Se connecter au service s.connect((target_ip, target_port)) # Envoyer des données (ex : requête HTTP) s.sendall(b"GET / HTTP/1.1\r\n\r\n") # Recevoir la réponse response = s.recv(4096) print("Bannière reçue :", response.decode())
except ConnectionRefusedError: print("Connexion échouée.") finally: s.close()
Comprendre les sockets vous permet de personnaliser l'interaction réseau au-delà de ce que proposent les outils standards.