SCANNER RÉSEAU C++ STAR
Outil d'analyse de ports multi-threadé développé en C++ pour l'audit réseau.
Contexte
Comprendre comment Nmap fonctionne. Construction scanner de ports simplifié : objectif ≠ remplacer Nmap mais comprendre sockets TCP, scanning, programmation concurrente C++.
Méthodologie d'Apprentissage
- 1
Étude TCP/IP + handshake SYN avec Wireshark (observation Nmap)
- 2
Scanner séquentiel basique avec sockets POSIX C++
- 3
Ajout multithreading pour scanner ports simultanément
- 4
Optimisation thread pool + queue de travail (éviter surcharge réseau)
- 5
Validation : comparaison résultats Nmap
Défis Techniques
Race conditions (écritures simultanées vector résultats)
Corruption données. Solution : mutex + atomic types.
Différence ports fermés (RST) vs filtrés (timeout)
Solution : timeouts configurables, select non-bloquants.
Saturation réseau (65535 ports parallèles)
Solution : semaphore limitant connexions simultanées à 200.
Résultats
Scanner : 65535 ports en <30s
Résultats 98% concordants avec Nmap
Compréhension intime protocole TCP + méchanismes scan
Programmation concurrente C++ : mutex, atomics, thread pool
Explore More