Skip to main content

Outil CLI de vulgarisation d'audit de securite reseau local

Project description

netcheck

Python 3.9+ License: MIT

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 commande netcheck n'est pas reconnue après l'installation, utilisez py -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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auditnet-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auditnet-0.1.0-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file auditnet-0.1.0.tar.gz.

File metadata

  • Download URL: auditnet-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for auditnet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 10b7cf87b6505e3b74db6b5921cc009b27c295b02b94ef9945c76928e3429b6d
MD5 220d6afa9a3a7985de0f43979e894811
BLAKE2b-256 fadbc52e1866ef668d4fa1b3d64b8e50fe91dbd8345e4d26979df9456c3b92c5

See more details on using hashes here.

File details

Details for the file auditnet-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: auditnet-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for auditnet-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aac32bb41b7a342f2a2ac891fb04f0542cbed1dbb58fea1d74043dbfd78b0a4f
MD5 0120d64956e9b54e3e810d1d1858f744
BLAKE2b-256 88517bfe51386154da2296c8edb65f4c4d4424cc702e754feb12112b01ae7d9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page