netcheck
Outil CLI de vulgarisation d'audit de sécurité réseau local.
Description
netcheck est un outil en ligne de commande conçu pour vulgariser l'audit de sécurité réseau. Il permet à n'importe quel utilisateur, même sans connaissances techniques avancées, d'obtenir des informations sur son réseau local et d'identifier d'éventuelles failles de sécurité.
Fonctionnalités
- Scan du réseau local : découverte des appareils connectés (IP, ports ouverts)
- Détection de services : identification des services réseau et récupération des bannières (SSH, HTTP, FTP, etc.)
- Vérification de vulnérabilités : comparaison avec la base CVE (NVD) pour détecter les systèmes potentiellement vulnérables
- Alertes de sécurité : détection de configurations dangereuses (Telnet, SMB, HTTP sans HTTPS, versions obsolètes, mots de passe par défaut...)
- Sécurité web : vérification des headers HTTP de sécurité et analyse des certificats SSL/TLS
- Capture de trames : analyse ciblée du trafic réseau avec Scapy (optionnel, nécessite les droits administrateur)
- Rapport console : affichage coloré et vulgarisé des résultats
- Export JSON : sauvegarde des résultats structurés pour analyse ultérieure
- Export HTML : rapport web moderne et coloré, prêt à partager ou imprimer
- Scan de ports personnalisés : choisissez vous-même les ports à scanner
- Mode silencieux : pour l'intégration dans des scripts ou des pipelines
Installation rapide (via pip)
pip install netcheck
Ou depuis les sources :
git clone https://github.com/etudiant/netcheck.git
cd netcheck
pip install -e .
Windows avec le launcher
py: Si la commandenetcheckn'est pas reconnue après l'installation, utilisezpy -m netcheckà la place. Exemple :py -m netcheck --rapide
Prérequis pour la capture de trames (Scapy) :
- Windows : installer Npcap avec l'option "WinPcap API-compatible Mode"
- Linux : exécuter la capture avec
sudo
Dépendances Python : rich, requests, scapy (installées automatiquement avec pip)
Utilisation
Scan basique
# Scan du réseau par défaut (192.168.1.0/24)
netcheck
# Spécifier un sous-réseau
netcheck --sous-reseau 192.168.1.0/24
# Scanner des ports personnalisés
netcheck --ports 22 80 443 8080
# Mode verbose (plus de détails)
netcheck --verbose
# Mode silencieux (pour les scripts)
netcheck --silencieux
# Mode rapide (scan réseau + alertes uniquement, très rapide)
netcheck --rapide
# Détection d'OS (nécessite les droits admin sur Windows)
netcheck --os-detect
Sécurité avancée
# Activer la vérification de sécurité web (headers HTTP + SSL/TLS)
netcheck --web-security
# Désactiver la vérification CVE (plus rapide)
netcheck --pas-cve
# Exporter un rapport JSON
netcheck --exporter rapport.json
# Exporter un rapport HTML
netcheck --html rapport.html
# Tout faire d'un coup !
netcheck --web-security --exporter rapport.json --html rapport.html
Capture de trames (nécessite les droits admin)
netcheck --capture --interface "Wi-Fi" --paquets 100
Guide des arguments expliqué simplement
| Argument | À quoi ça sert ? | Exemple concret |
|---|---|---|
--sous-reseau |
Indique quel réseau scanner. Par défaut : 192.168.1.0/24 (votre box). |
netcheck --sous-reseau 192.168.0.0/24 |
--max-hotes |
Limite le nombre d'appareils à scanner (évite d'attendre trop longtemps). | netcheck --max-hotes 10 |
--ports |
Vous choisissez vous-même les ports à tester (sinon ceux par défaut). | netcheck --ports 22 80 443 3306 |
--verbose |
Affiche plus d'infos en direct (versions, services...). | netcheck --verbose |
--silencieux |
Réduit l'affichage au minimum. Idéal pour les scripts. | netcheck --silencieux |
--rapide |
Le plus rapide. Scan les ports + alertes uniquement. Skip services et CVE. | netcheck --rapide |
--os-detect |
Essaie de deviner le système d'exploitation (Windows, Linux...) via le TTL. | netcheck --os-detect |
--web-security |
Vérifie les sites web trouvés (headers sécurité + certificats SSL). | netcheck --web-security |
--pas-cve |
Désactive la recherche de vulnérabilités CVE (gain de temps). | netcheck --pas-cve |
--exporter |
Sauvegarde les résultats dans un fichier JSON. | netcheck --exporter mon_reseau.json |
--html |
Génère un rapport web coloré, prêt à ouvrir dans un navigateur. | netcheck --html rapport.html |
--capture |
Capture les paquets réseau en direct (besoin des droits admin). | netcheck --capture |
--interface |
Précise quelle carte réseau utiliser pour la capture. | netcheck --capture --interface "Wi-Fi" |
Scénarios prêts à l'emploi
# 1. Premier scan rapide de votre box (1 minute)
netcheck --rapide
# 2. Scan complet avec rapport web
netcheck --web-security --html rapport_box.html
# 3. Scan des ports importants avec export JSON
netcheck --ports 21 22 23 80 443 445 3389 --exporter scan.json
# 4. Scan silencieux pour un script automatisé
netcheck --silencieux --rapide --exporter resultats.json
# 5. Tout vérifier (le plus poussé)
netcheck --verbose --web-security --os-detect --html complet.html --exporter complet.json
Avertissement
Cet outil est destiné à un usage éducatif et éthique. Ne scannez que des réseaux dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation explicite.
Architecture
netcheck/
├── netcheck/
│ ├── __init__.py
│ ├── cli.py # Interface en ligne de commande
│ ├── network_scanner.py # Scan réseau et ports (multithreadé)
│ ├── service_detector.py # Détection des services et bannières
│ ├── cve_checker.py # Recherche de CVE via l'API NVD
│ ├── vuln_checks.py # Tests de sécurité basiques + versions vulnérables
│ ├── web_security.py # Vérification headers HTTP + certificats SSL/TLS
│ ├── packet_sniffer.py # Capture de trames Scapy
│ ├── security_utils.py # Utilitaires de sécurité
│ └── reporter.py # Affichage console + export JSON/HTML
├── tests/ # Tests unitaires complets
├── pyproject.toml
└── README.md
Tests
# Exécuter tous les tests
python -m pytest tests/
# Ou avec unittest
python -m unittest discover tests/
Auteurs
Korgho Sosthene et Ouedraogo Chakira
Projet tutoré : Audit de sécurité d'un réseau local
Licence
MIT — Voir le fichier LICENSE pour plus de détails.
Release files for auditnet 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| auditnet-0.1.0.tar.gz | 31.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auditnet-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.0 kB
Release files / auditnet-0.1.0.tar.gz
| Download URL | auditnet-0.1.0.tar.gz |
|---|---|
| Size | 31.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10b7cf87b6505e3b74db6b5921cc009b27c295b02b94ef9945c76928e3429b6d
|
|
BLAKE2b-256 checksum How to use checksums |
fadbc52e1866ef668d4fa1b3d64b8e50fe91dbd8345e4d26979df9456c3b92c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / auditnet-0.1.0-py3-none-any.whl
| Download URL | auditnet-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aac32bb41b7a342f2a2ac891fb04f0542cbed1dbb58fea1d74043dbfd78b0a4f
|
|
BLAKE2b-256 checksum How to use checksums |
88517bfe51386154da2296c8edb65f4c4d4424cc702e754feb12112b01ae7d9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|