Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Scanopy - Quand votre réseau se documente tout seul

Par : Korben
16 mars 2026 à 06:34

Faut le reconnaitre, la doc et qui plus est, la doc réseau, c'est un peu le parent pauvre du homelab. Tout le monde sait qu'il faudrait la tenir à jour sur un petit wiki tout mignon mais personne le fait parce qu'on n'est pas cinglé et qu'on aime trop la vie pour ça. Heureusement, pour nous aider, y'a maintenant Scanopy qui est un outil open source qui scanne automatiquement votre réseau pour générer une topologie interactive incroyable qui se met à jour toute seule !

Pour l'installer, deux lignes suffisent :

curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml
docker compose up -d

Et hop, l'interface est dispo sur le port 60072 de votre serveur ! Pas de config.

Concrètement, le truc balance du scan ARP pour trouver tous les hôtes (même ceux qui n'ont aucun port ouvert), puis il enchaîne avec un scan des 65 000 ports sur chaque machine qui répond. Comme ça, en quelques minutes sur un /24 classique, vous avez la cartographie complète de votre sous-réseau avec les services qui tournent dessus. Et quand je dis services, c'est pas juste "port 80 ouvert" puisque cet outil de zinzin reconnaît plus de 200 applis self-hosted comme Home Assistant, Plex, Jellyfin, PostgreSQL ou nginx. Par contre, attention, un scan de 65 000 ports sur tout un sous-réseau, ça peut chatouiller un peu votre IDS (système de détection d'intrusion) si vous en avez un.

D'ailleurs, si vous avez des équipements réseau un peu sérieux (switches manageables, routeurs), Scanopy sait aussi causer SNMP v2c et récupérer les données LLDP/CDP pour reconstituer les liens physiques entre vos appareils.

Et pour ceux qui font tourner pas mal de containers, il se branche directement sur le socket Docker pour détecter tout ce qui tourne là-dedans. En fait, c'est surtout cette combo "scan réseau + détection Docker" qui le rend utile, parce que la plupart des outils du genre font l'un ou l'autre mais jamais les deux.

L'interface de visualisation est plutôt classe comme vous pouvez le voir. Vous avez une vue topologique interactive où chaque hôte est cliquable, avec un système de branches et de versioning pour suivre l'évolution de votre réseau dans le temps (un peu comme Git, mais pour votre infra). Et y'a même de l'export en CSV, PNG et SVG. Et surtout la possibilité de partager des liens publics vers vos schémas... C'est franchement pratique quand vous bossez en équipe ou que vous devez montrer à votre boss pourquoi le NAS de votre PME rame sa mère.

Côté tambouille technique, c'est du Rust pour le moteur de scan et du Svelte pour l'interface, le tout sous licence AGPL-3.0. En gros, vous avez un serveur qui héberge l'UI et stocke les données, et des daemons qui font le boulot de scan à proprement parler. Tout est containerisé, comme ça pas besoin d'installer un agent sur vos machines côté réseau... c'est complètement agentless quoi. D'ailleurs, si vous aviez l'habitude de balancer des scans nmap à la main pour savoir ce qui traîne sur votre réseau, Scanopy automatise tout ça et rajoute la couche visu par-dessus.

Le projet est hébergé sur GitHub et y'a aussi un déploiement possible via Proxmox ou Unraid pour ceux qui préfèrent. Seul prérequis, il vous faudra Docker et Docker Compose sur votre machine. Et n'oubliez pas que le projet est encore jeune, du coup ça bouge pas mal d'une version à l'autre. Et ça casse parfois. Mais c'est plutôt bon signe parce que ça veut dire que ça progresse !

Bref, si vous en avez marre de dessiner vos schémas réseau à la main, c'est par là !

Source

DNS-collector - Pour comprendre enfin ce qui se passe sur votre réseau

Par : Korben
7 février 2026 à 07:38

Le DNS, c'est un peu la tuyauterie planquée d'Internet. Tout le monde l'utilise, mais personne ne regarde vraiment ce qui se passe dans les tuyaux... jusqu'à ce que ça pète ou qu'un petit con s'en serve pour exfiltrer des données. Et là, bon courage pour fouiller dans les logs en mode brutasse pour comprendre qui a fait quoi sur votre réseau.

En fait, pour ceux qui se demandent encore qu'est-ce que le DNS (Domain Name System), c'est simplement l'annuaire qui traduit les noms de domaine comme korben.info en adresses IP. Sans lui, on serait tous en train de mémoriser des suites de chiffres à la con.

Et il y a quelques jours, j'ai reçu un mail de Denis, un fidèle lecteur (qui traîne sur le blog depuis 2005, ça nous rajeunit pas !) qui m'a écrit pour me présenter son projet sur lequel il bosse depuis 5 ans : DNS-collector .

DNS-collector, c'est un outil écrit en Go qui sert de "chaînon manquant" entre vos serveurs DNS et votre pile de données. En gros, il capture le trafic DNS, le nettoie, l'enrichit et l'envoie là où vous en avez besoin. C'est l'outil parfait pour ceux qui ont la flemme de se palucher des fichiers PCAP de 4 Go à la main ou de debugger des flux DNStap illisibles.

Le point fort de DNS Collector, c'est sa flexibilité. Côté entrées, ça avale tout : du DNStap via socket Unix ou TCP (le protocole standard utilisé par BIND, Unbound ou PowerDNS), du sniffing réseau classique avec AF_PACKET ou même XDP pour la très haute performance. Attention quand même, pour XDP, apparemment le kernel Linux doit être récent (version 5.x minimum) et les drivers réseau doivent suivre, sinon ça va faire pshitt. Ensuite, par défaut, le bousin écoute pépouze sur le port UDP/6000 en attendant ses flux.

Mais là où ça devient vraiment balaise, c'est dans le traitement des données. DNS-collector embarque des "Transformers" (rien à voir avec Optimus Prime hein ^^) qui font tout le boulot ingrat à votre place dans le pipeline de traitement. Hop, ça normalise les noms de domaine en minuscules (le fameux qname-lowercase dans le fichier de config), ça ajoute la géolocalisation via GeoIP (genre MaxMind ou IP2Location), et on peut même détecter les trucs louches.

Il peut aussi détecter le tunneling DNS ou les domaines générés par algorithme (DGA) qui sont souvent les signes d'une infection sur une machine. Petit bémol cependant, pour la géolocalisation, pensez à télécharger vos bases GeoIP au préalable (fichiers .mmdb), sinon l'outil va vous faire une petite grimace au démarrage.

Vous pouvez aussi protéger la vie privée de vos utilisateurs en anonymisant les adresses IP via un hachage SHA1 ou du masquage. C'est propre, ça respecte le RGPD, et ça permet de garder des stats utiles (genre le top des ASN consultés) sans fliquer tout le monde. Les données sortent proprement en JSON ou en Protobuf, prêtes à être ingérées.

Une fois que vos données sont propres, vous les envoyez où vous voulez. J'ai choisi de vous citer ClickHouse ou InfluxDB car c'est parfait pour stocker des millions de requêtes sans mettre votre serveur à genoux, mais la liste est longue : Prometheus pour les métriques, ElasticSearch, Kafka, Redis, ou même Slack via des webhooks pour être alerté en temps réel quand un domaine louche pointe le bout de son nez.

Alors si ça vous chauffe, comment récupérer cet outil et le mettre en place ?

Hé bien c'est hyper fastoche comme d'hab puisque le projet est dispo en binaire ou via Docker. Ensuite, vous lancez la commande ./dnscollector -config config.yml, vous branchez vos sources, et roule ma poule. Taaadaaaa ! DNS-collector s'occupera du reste sans vous bouffer toute votre RAM (contrairement à certaines usines à gaz Java qui demandent un sacré paquet de mémoire vive ^^).

Voilà, perso, je trouve l'approche très saine. C'est léger, modulaire et ça répond à un vrai besoin pour les admins sys qui veulent enfin "voir" ce qui transite par leurs serveurs. Le bousin encaisse des milliers de requêtes par seconde sans broncher... enfin sauf si votre serveur est une patate de 2012, là je garantis rien.

Mortecouille, c'est quand même mieux d'avoir des logs lisibles avec un simple tail -f /var/log/syslog, non ? Et d'ailleurs, le projet est déjà adopté par pas mal d'acteurs de la sécu, donc vous pouvez y aller sereinement.

Merci Denis !

Reinstall - Le script ultime pour réinstaller n'importe quel OS sur votre VPS (même Windows)

Par : Korben
6 février 2026 à 09:22

Aujourd'hui, on va aller un peu plus loin que les simples bidouilles habituelles car je vais vous présenter Reinstall , un outil qui va peut-être vous changer la vie si vous gérez des serveurs distants.

Vous connaissez la chanson... vous avez un VPS sous Debian et vous voulez passer sous Arch pour faire votre malin. Sauf que pour opérer ce changement, c'est la galère assurée !! Faut passer par l'interface web de l'hébergeur, booter sur une ISO via une console VNC qui rame sa maman, et prier pour que le réseau revienne après le reboot.

Eh bien ça c'est terminé grâce à ce script Reinstall. Vous lui balancez une commande, le script s'occupe de tout, et hop, votre serveur redémarre sur le nouvel OS de votre choix. Pas besoin d'accès IPMI, pas besoin de supplier le support technique, ça marche tout seul.

Et ça supporte pas mal d'OS... Côté Linux, y'a 19 distributions majeures : Alpine, Debian (de 9 à 13), Ubuntu (de 16.04 à 25.10), toute la famille Red Hat (AlmaLinux, Rocky, Oracle), Fedora, Arch, Gentoo, NixOS... Bref, y'a tout ce qu'il faut.

Et le truc qui va plaire à ceux qui font du cloud, c'est également le support de Windows. En effet, le script permet d'installer Windows Vista, 7, 8.1, 10, 11 et même Windows Server 2025.

Et rassurez-vous, il n'utilise pas des images bricolées par on ne sait qui, mais les ISO officielles de chez Microsoft. Lui se content d'injecter automatiquement les drivers VirtIO pour que ça tourne comme un charme sur n'importe quel cloud (AWS, GCP, Oracle Cloud...).

Aussi, le point le plus chiant quand on réinstalle un serveur distant, c'est la config réseau. Si on se loupe, on perd l'accès SSH et c'est fini. Reinstall gère ça intelligemment puisqu'il détecte votre IP (statique ou dynamique), gère l'IPv6, les passerelles exotiques et même les serveurs ARM.

Ce qu'il vous faut avant de tout casser

  • RAM : 256 Mo pour Alpine/Debian, 1 Go pour Windows.
  • Disque : 1 Go pour Linux, 25 Go minimum pour Windows.
  • Accès : Un accès root/admin sur la machine actuelle.
  • Temps estimé : Environ 5 à 15 minutes selon la vitesse de connexion de votre serveur.

Un petit avertissement quand même... Ce script ne gère pas les conteneurs type OpenVZ ou LXC. Faut que ce soit une vraie VM (KVM, VMware, Hyper-V) ou un serveur bare-metal.

Le tuto ! Le tuto !

C'est là que ça devient drôle. Pour installer un nouveau Linux (disons Debian 13) depuis votre système actuel, il suffit de faire un petit :

# Télécharger le script
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh

# Lancer la réinstallation
bash reinstall.sh debian 13 --password "VotreMotDePasse"

Si vous voulez tenter l'aventure Windows :

bash reinstall.sh windows --image-name "Windows 11 Enterprise LTSC 2024" --lang fr-fr

Le script tourne même depuis Windows (via un .bat) si vous voulez faire l'inverse et repasser sous Linux.

Perso, je trouve ça quand même génial pour tester des trucs sans passer des plombes à configurer des ISO. Ça dépanne grave quand on veut repartir on une base saine en un clin d'œil. D'ailleurs, si vous avez besoin de sécuriser vos serveurs après l'install, j'avais parlé de Fail2Ban il y a quelques temps, et c'est toujours une bonne idée. Et si vous avez peur de perdre vos données, jetez un œil à Restic pour vos backups.

Bref, si vous gérez des VPS et que vous en avez marre des consoles web préhistoriques, foncez tester ce truc (sur une machine de test d'abord, hein, venez pas pleurer après).

Bon, je vous laisse… Je vais aller me faire un petit café !

❌
❌