
Projet personnelTerminé
NetScan
Application de bureau · Scanner réseau · Python
Contexte
Scanner de réseau local avec interface de bureau. NetScan découvre et identifie en temps réel les appareils connectés au réseau — IP, adresse MAC et constructeur — en croisant trois techniques : scan ARP actif (rapide), écoute passive du trafic (pour attraper les appareils discrets comme un téléphone en veille) et découverte de services mDNS. La logique réseau, en Python, est totalement découplée de l'interface : le scan tourne dans un thread dédié et pousse ses résultats vers une UI web via un pont pywebview, ce qui garde la fenêtre fluide en permanence.
Réalisations clés
- Trois modes de découverte complémentaires : ARP actif, écoute passive, mDNS
- Écoute passive pour détecter les appareils qui ne répondent pas au scan actif
- Scan asynchrone en thread dédié : interface fluide, jamais figée
- Pont Python ↔ JavaScript temps réel via pywebview (résultats poussés en direct)
- Résolution des constructeurs par préfixe MAC, avec cache
- Logique réseau totalement découplée de l'interface (réutilisable, testable)
- Détection automatique du sous-réseau local, résultats dédoublonnés par MAC
Environnement technique
PythonScapyZeroconf (mDNS)pywebviewHTML/CSS/JS