Scanner de réseau minimal en Python
Un projet d'apprentissage pour créer un scanner de réseau simple et efficace en Python.
•
pythonréseaucybersécuriténmap
Scanner de réseau minimal en Python
Ce projet présente la création d'un scanner de réseau simple mais efficace en Python, idéal pour apprendre les concepts de base de la reconnaissance réseau.
Objectifs du projet
- Comprendre les protocoles TCP/UDP
- Apprendre les techniques de scanning
- Implémenter une solution légère et portable
Important : Ce projet est uniquement à des fins éducatives. Utilisez-le uniquement sur vos propres réseaux.
Architecture
Le scanner est composé de trois modules principaux :
1. Module de découverte
import socket
import threading
from concurrent.futures import ThreadPoolExecutor
class NetworkScanner:
def __init__(self, target_network):
self.target_network = target_network
self.active_hosts = []
def ping_host(self, ip):
try:
socket.setdefaulttimeout(1)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((ip, 80))
sock.close()
if result == 0:
self.active_hosts.append(ip)
except:
pass
2. Module de scan de ports
def scan_port(self, host, port):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)
result = sock.connect_ex((host, port))
sock.close()
return result == 0
except:
return False
3. Interface utilisateur
Le scanner dispose d'une interface en ligne de commande simple :
python scanner.py --target 192.168.1.0/24 --ports 22,80,443,8080
Fonctionnalités
- Découverte d'hôtes actifs
- Scan de ports TCP
- Multithreading pour la performance
- Export des résultats en JSON
- Support UDP (en développement)
Performance : Le scanner peut traiter jusqu'à 1000 hôtes en moins de 30 secondes.
Installation
git clone https://github.com/exemple/scanner-reseau
cd scanner-reseau
pip install -r requirements.txt
python scanner.py --help
Utilisation éthique
Ce projet doit être utilisé de manière responsable :
- Autorisation : Scannez uniquement vos propres réseaux
- Légalité : Respectez les lois locales sur la cybersécurité
- Performance : Limitez la vitesse pour éviter de surcharger les réseaux
Prochaines améliorations
- Support des scans UDP
- Détection de services
- Interface graphique
- Intégration avec Nmap
Ce projet constitue une excellente base pour comprendre les mécanismes de scanning réseau et peut être étendu selon vos besoins spécifiques.