Un scanner de ports réseau en ligne de commande, rapide et asynchrone, développé en Python. Cet outil permet d'identifier les ports ouverts sur une machine cible (adresse IP ou nom de domaine) en utilisant le multi-threading pour des performances optimales.
- Ultra-rapide : Utilise
concurrent.futuresavec un pool de 100 threads pour scanner de nombreux ports simultanément. - Flexible : Configuration personnalisée des ports à scanner via des arguments CLI (plage de ports, liste spécifique ou port unique).
- Gestion des délais (Timeout) : Paramétrage du temps d'attente maximum pour éviter de bloquer sur les ports filtrés par des pare-feu.
- Exportation des résultats : Possibilité de sauvegarder le rapport du scan dans un fichier texte.
- Léger : Construit uniquement avec les bibliothèques standards de Python (aucune dépendance externe n'est requise).
- Python 3.x installé sur votre machine.
Clonez ce dépôt sur votre machine locale :
git clone [https://github.com/Aimenkhimoum/python-port-scanner.git](https://github.com/Aimenkhimoum/python-port-scanner.git)
cd python-port-scanner
## Utilisation
Le script s'exécute directement depuis votre terminal.
**Syntaxe de base :**
```bash
python3 scanner.py <cible> [options]1. Scan par défaut (ports 1 à 1024) :
python3 scanner.py 192.168.1.12. Scanner une plage de ports spécifique avec un timeout personnalisé (ex: 0.5s) :
python3 scanner.py google.com -p 80-500 -t 0.53. Scanner une liste de ports précis :
python3 scanner.py 10.0.0.5 -p 21,22,80,443,80804. Sauvegarder les résultats dans un fichier :
python3 scanner.py 192.168.1.1 -p 1-10000 -o rapport_scan.txtCet outil a été développé à des fins éducatives et de diagnostic personnel. Ne l'utilisez que sur des réseaux et des machines pour lesquels vous avez une autorisation explicite.