Files
librenet-scanner/README.md
T
2026-08-23 09:52:32 +02:00

10 KiB

Logo LibreNet Scanner

LibreNet Scanner

Scanner réseau graphique libre, rapide et orienté équipements pour Linux.
Découverte, inventaire, services, identification et diagnostic dans une interface Qt pensée pour KDE Plasma.

Version 1.0.0 Release stable Debian 13 Qt 6 KDE GPLv3+ 187 tests OK

Poste    Serveur    Switch    Routeur    Point d'accès    Imprimante

LibreNet Scanner 1.0.0 est la version stable de référence. Le moteur Standard privilégie la rapidité et la prédictibilité sur les petits réseaux, tout en pouvant accélérer les grands ensembles d'hôtes avec Naabu.


Points forts

  • Découverte rapide du LAN avec arp-scan, Nmap et la table de voisinage Linux.
  • Moteur Standard adaptatif : Nmap sur les petits ensembles d'hôtes actifs, Naabu sur les ensembles importants lorsqu'il apporte un réel gain.
  • Scan approfondi avec versions de services et estimation du système d'exploitation.
  • Mode Administrateur via Polkit : la GUI reste non-root ; seul un helper strictement contrôlé reçoit les privilèges nécessaires.
  • Identification orientée équipements : poste, serveur, hyperviseur, NAS, pare-feu, routeur, switch, point d'accès, imprimante…
  • Identification OS avec pictogrammes Linux, BSD, Windows, Apple et Android.
  • Résultats progressifs et scan interruptible avec terminaison propre des processus.
  • Historique local SQLite, comparaison entre scans, favoris, groupes et notes.
  • Actions contextuelles : Web, SSH, SMB, RDP, Ping, Traceroute, Wake-on-LAN, copie IP/MAC.
  • Interface compacte ou détaillée, compatible Breeze clair/sombre sans thème graphique imposé.

🚀 Installation

Paquet Debian 13

sudo apt install ./librenet-scanner_1.0.0_amd64.deb

Puis lance LibreNet Scanner depuis le menu KDE ou avec :

librenet-scanner

Le paquet cible Debian 13 (Trixie) amd64 et installe les dépendances principales via APT.

Exécution depuis les sources

./run-from-source.sh

Le projet nécessite Python 3.11+ et PySide6/Qt6.

🧭 Les trois modes de scan

Mode Objectif Moteur principal
Rapide Trouver les machines présentes ARP + découverte Nmap
🔎 Standard Trouver les machines et leurs ports usuels Moteur adaptatif Nmap / Naabu
🧬 Approfondi Enrichir services, versions et OS Socle Standard + Nmap -sV / OS

Le bouton principal Scanner lance le mode Standard. Le menu attenant permet de choisir Rapide ou Approfondi.

Standard : moteur adaptatif

LibreNet commence par identifier les hôtes réellement actifs, puis ne scanne les ports que sur ceux-ci.

Cible réseau
    │
    ├── poste local
    ├── arp-scan
    └── découverte Nmap courte
            │
            ▼
       hôtes actifs
            │
     ┌──────┴────────┐
     │               │
 < 32 hôtes      ≥ 32 hôtes
     │               │
 Nmap borné      Naabu par lots
     │               │
     └──────┬────────┘
            ▼
       ports ouverts

Pour un /24 avec seulement quelques machines actives, LibreNet ne lance pas un scan de ports sur les 254 adresses : les hôtes sont d'abord découverts, puis seuls ceux qui répondent sont analysés.

Garde-fous de performance

  • arp-scan est borné à 8 secondes ;
  • découverte Nmap sans DNS (-n) et avec un retry maximum ;
  • scan Standard Nmap limité aux hôtes actifs et aux ports usuels ;
  • Naabu réservé aux ensembles d'au moins 32 hôtes actifs ;
  • Naabu exécuté par lots de 32 hôtes, avec plafond de temps par lot ;
  • repli Nmap limité aux hôtes déjà découverts si Naabu est indisponible ou trop lent ;
  • aucun résultat incomplet n'est enregistré comme scan réussi lorsqu'une phase essentielle échoue.

🛡️ Mode Administrateur

Le mode Admin s'appuie sur Polkit. LibreNet Scanner ne lance jamais toute l'interface en root.

Le helper privilégié est installé ici :

/usr/libexec/librenet-scanner-helper

La politique Polkit est installée ici :

/usr/share/polkit-1/actions/org.librenet.scanner.policy

Le mode Admin permet notamment :

  • arp-scan privilégié ;
  • scans TCP SYN (-sS) ;
  • détection OS lors des scans Approfondi et Détaillé.

La découverte Standard reste volontairement cohérente entre le mode utilisateur et le mode Admin afin d'éviter que l'activation des privilèges modifie artificiellement la liste d'hôtes détectés.

🛑 Annulation propre

Le bouton Arrêter ne se contente pas d'interrompre l'interface : LibreNet supervise le processus réseau en cours.

  • en mode utilisateur, le groupe de processus est terminé proprement ;
  • en mode Admin, l'UI envoie un ordre STOP au helper privilégié ;
  • le helper applique une escalade TERM → KILL si nécessaire ;
  • un scan interrompu n'est pas enregistré comme un résultat complet.

🖥️ Vue équipements

Vue compacte

pve01.local          192.168.10.10     Hyperviseur Proxmox
nas01.local          192.168.10.20     NAS
printer01.local      192.168.10.30     Imprimante

Vue détaillée

pve01.local          192.168.10.10     Hyperviseur Proxmox
    SSH              22/tcp            OpenSSH
    NFS              2049/tcp
    Proxmox VE       8006/tcp

Un double-clic sur un service compatible peut ouvrir directement HTTP/HTTPS, SSH, SMB ou RDP.

🧠 Identification et mémoire locale

LibreNet sépare volontairement :

  • les résultats visibles ;
  • l'historique des scans ;
  • les identifications mémorisées ;
  • les métadonnées utilisateur : favoris, groupes et notes.

Quand une MAC fiable est disponible, les métadonnées peuvent suivre l'équipement lors d'un changement d'adresse IP. La logique d'identité évite autant que possible les fusions dangereuses liées aux MAC virtuelles, clonées, partagées ou localement administrées.

Les données sont conservées localement dans :

~/.local/share/librenet-scanner/history.sqlite3

🌐 Constructeurs et confidentialité

Par défaut, LibreNet s'appuie sur les bases OUI locales.

Une recherche constructeur en ligne peut être activée dans :

Paramètres → Identification des constructeurs…

Cette fonction est désactivée par défaut, car une recherche distante transmet la MAC complète au fournisseur choisi. Les résultats peuvent être mis en cache localement pendant 30 jours.

⚙️ Naabu optionnel

LibreNet Scanner fonctionne sans Naabu. L'installation du .deb n'effectue aucun téléchargement réseau obligatoire.

Naabu 2.6.1 peut être ajouté comme accélérateur pour les grands ensembles d'hôtes :

sudo /usr/libexec/librenet-scanner-install-naabu --ensure

Le binaire validé est placé dans :

/usr/lib/librenet-scanner/bin/naabu

LibreNet n'utilise pas arbitrairement un autre naabu trouvé dans le $PATH. L'installateur vérifie la version et le SHA-256 de l'archive officielle avant installation.

🧰 Dépendances

Obligatoires

  • Python 3
  • PySide6 / Qt6
  • Nmap
  • arp-scan
  • iproute2
  • iputils-ping
  • xdg-utils
  • pkexec / Polkit

Recommandées ou optionnelles

  • polkit-kde-agent-1 sous KDE Plasma
  • Konsole
  • Remmina
  • traceroute
  • libcap2-bin
  • Naabu 2.6.1 pour l'accélération des grands ensembles

⌨️ Raccourcis utiles

Raccourci Action
F5 Scan Standard
Ctrl+F5 Scan Rapide
Shift+F5 Scan Approfondi
Ctrl+F Recherche

🔐 Sécurité

  • aucune commande utilisateur n'est exécutée via un shell ;
  • les cibles sont validées avant exécution ;
  • la taille des scans est limitée ;
  • le helper privilégié n'accepte que des opérations prédéfinies ;
  • les moteurs privilégiés sont lancés avec des profils contrôlés ;
  • les scans sont conçus pour être interrompus proprement.

Utilise LibreNet Scanner uniquement sur des réseaux que tu possèdes ou que tu es autorisé à analyser.

Validation de la release stable

La base 1.0.0 est couverte par 191 tests automatisés portant notamment sur :

  • parsing Nmap / arp-scan / Naabu ;
  • validation des cibles ;
  • moteur adaptatif petit/grand réseau ;
  • délais maximaux et annulation ;
  • helper privilégié ;
  • identité des équipements et systèmes ;
  • historique et persistance ;
  • non-régression de l'interface et du packaging.

Lancer la suite :

PYTHONPATH=src python3 -m unittest discover -s tests -v

📁 Arborescence

librenet-scanner-1.0.0/
├── assets/                 logo, badges et icônes
├── packaging/              paquet Debian, helper et Polkit
├── src/librenet_scanner/   application Python
├── tests/                  suite automatisée
├── README.md
├── LICENSE
└── THIRD_PARTY_ASSETS.md

📜 Licence

LibreNet Scanner est distribué sous GPL-3.0-or-later.

Nmap, arp-scan, Naabu et les pictogrammes tiers conservent leurs licences respectives. Les détails sont documentés dans THIRD_PARTY_ASSETS.md et NAABU-LICENSE.txt.


LibreNet Scanner
LibreNet Scanner 1.0.0 — Stable
Voir le réseau. Comprendre les équipements. Garder le contrôle.