LLDP sous Windows : Découvrez la topologie de votre réseau depuis la ligne de commande

LLDP sous Windows : Découvrez la topologie de votre réseau depuis la ligne de commande

Introduction : Le mystère des câbles réseau que tout administrateur système connaît

Vous venez d'arriver chez un client équipé de commutateurs 48 ports, de centaines de câbles de brassage et d'aucune documentation. Vous branchez votre ordinateur portable à une prise murale et vous devez savoir : sur quel port suis-je connecté ? Sur quel commutateur ? Sur quel VLAN ? Sans ces informations, le dépannage réseau se transforme en une fastidieuse recherche manuelle.

C’est précisément le problème que résout le protocole LLDP (Link Layer Discovery Protocol) . En 30 secondes, vous pouvez connaître le nom d’hôte exact du commutateur auquel vous êtes connecté, le numéro de port spécifique, les informations VLAN et l’adresse IP de gestion, le tout depuis votre ordinateur portable Windows, sans toucher à un seul câble ni ouvrir de session console.

Ce guide couvre tout : du protocole LLDP lui-même à quatre méthodes pratiques pour lire les données LLDP sous Windows, avec des commandes et des outils réels testés en environnements de production.

Qu’est-ce que le LLDP ? Explication du protocole

Norme IEEE 802.1AB

LLDP (Link Layer Discovery Protocol) est un protocole standard IEEE 802.1AB utilisé par les périphériques réseau pour signaler leur identité et leurs capacités à leurs voisins sur le même segment de réseau. Il fonctionne au niveau 2 (liaison de données), ce qui signifie qu'il est compatible avec toutes les configurations IP ; même une machine sans adresse IP peut envoyer et recevoir des trames LLDP.

Le protocole LLDP fonctionne selon un mécanisme simple : chaque périphérique compatible diffuse périodiquement des LLDPDU (unités de données LLDP) sur chaque interface réseau active. Ces diffusions sont envoyées par défaut toutes les 30 secondes et contiennent des champs TLV (Type-Longueur-Valeur) structurés décrivant le périphérique.

Les trames sont envoyées à l'adresse MAC multicast bien connue 01:80:C2:00:00:0E et ne sont pas relayées par les commutateurs ; elles restent sur le segment local. Cela signifie que votre machine Windows ne verra que les trames LLDP provenant du port du commutateur auquel elle est directement connectée.

LLDP vs CDP : Principales différences

Fonctionnalité LLDP (IEEE 802.1AB) CDP (Cisco Discovery Protocol)
Standard Norme ouverte IEEE Propriétés Cisco
Assistance aux fournisseurs Tous les fournisseurs (Cisco, HP, Juniper, etc.) Appareils Cisco uniquement
Couche Couche 2 (Liaison de données) Couche 2 (Liaison de données)
Intervalle publicitaire 30 secondes (par défaut) 60 secondes (par défaut)
Temps d'attente 120 secondes (par défaut) 180 secondes (par défaut)
Fonctionne sans IP Oui (couche 2 pure) Oui (couche 2 pure)

La plupart des commutateurs Cisco modernes prennent en charge à la fois LLDP et CDP. Dans les environnements multi-fournisseurs, LLDP est l'option universelle.

Information transmise par LLDP

Une trame LLDP typique provenant d'un commutateur contient :

  • Identifiant du châssis — Généralement l'adresse MAC du commutateur
  • ID du port — Le port spécifique auquel vous êtes connecté (par exemple, GigabitEthernet0/23)
  • Nom du système — Nom d'hôte du commutateur (par exemple, SW-FLOOR2-ACCESS-01)
  • Description du système — Version du système d'exploitation et modèle matériel
  • Adresse de gestion — Adresse IP utilisée pour gérer le commutateur
  • ID du VLAN — Le VLAN natif du port connecté
  • Description du port — Étiquette de port lisible par l'homme
  • Fonctionnalités du système — Ce que fait le périphérique (Pont, Routeur, etc.)

Méthode 1 : Wireshark — Capture visuelle de paquets (la plus simple)

Aperçu

Wireshark est l'analyseur de protocole réseau le plus populaire au monde. Pour lire les trames LLDP, c'est l'option la plus simple : vous visualisez les paquets bruts avec un décodage complet champ par champ. Aucune configuration n'est requise après l'installation.

Téléchargement : https://www.wireshark.org/download.html

Instructions étape par étape

  • Installez Wireshark (le pilote Npcap est inclus automatiquement).
  • Ouvrez Wireshark et sélectionnez votre interface réseau (celle connectée au commutateur).
  • Dans la barre de filtre, saisissez lldp et appuyez sur Entrée.
  • Cliquez sur le bouton vert Démarrer (icône d'aileron de requin).
  • Attendez jusqu'à 30 secondes — le commutateur envoie automatiquement sa trame LLDP.

Lecture du paquet LLDP

Lorsqu'une trame LLDP apparaît, cliquez dessus et développez « Link Layer Discovery Protocol » dans le volet des détails du paquet :

Link Layer Discovery Protocol
  Chassis Subtype = MAC address (4)
    Chassis Id: 00:1a:2b:3c:4d:5e
  Port Subtype = Interface name (5)
    Port Id: GigabitEthernet1/0/23
  Time To Live = 120 sec
  System Name = SW-DATACENTER-01.company.local
  System Description = Cisco IOS Software, Version 15.2(7)E5, RELEASE SOFTWARE
  System Capabilities
    Capabilities: B........ (Bridge)
    Enabled Capabilities: B........ (Bridge)
  Management Address
    Address Subtype = IPv4 (1)
    Address: 192.168.1.254
  Port Description = Link to Workstation Area A
  802.1 VLAN Name
    VLAN id: 100
    VLAN name: DATA_VLAN

À partir de ce seul paquet, vous savez : vous êtes sur le port GigabitEthernet1/0/23 du commutateur SW-DATACENTER-01.company.local (adresse IP de gestion : 192.168.1.254), sur le VLAN 100.

Astuce : Dans Wireshark, faites un clic droit sur une trame LLDP et utilisez « Exporter les paquets spécifiés » pour l’enregistrer comme documentation. Vous pouvez également l’exporter au format JSON ou CSV à des fins d’inventaire.

Méthode 2 : WinLLDPService — Service Windows (la plus pratique pour une utilisation permanente)

Aperçu

WinLLDPService est un service Windows open source qui envoie des annonces LLDP (annonçant votre machine Windows au commutateur) et reçoit des données LLDP de ses voisins. Il s'exécute en arrière-plan et enregistre en continu les informations des voisins.

Dépôt GitHub : https://github.com/rasmuslund/WinLLDPService

Téléchargez la dernière version (programme d'installation .exe) depuis la page des versions de GitHub.

Installation en tant que service Windows

# Option 1: Use the provided installer (recommended)
# Run WinLLDPService_Setup.exe as Administrator
# Follow the wizard - it installs and starts the service automatically

# Option 2: Manual installation via sc.exe
# First, place WinLLDPService.exe in a permanent location
sc create WinLLDPService binPath= "C:Program FilesWinLLDPServiceWinLLDPService.exe" start= auto
sc description WinLLDPService "Windows LLDP Service - sends and receives LLDP frames"
sc start WinLLDPService

# Verify service is running
sc query WinLLDPService

Lecture des informations sur les voisins du LLDP

WinLLDPService enregistre les données des voisins dans un fichier et dans le journal des événements Windows :

# View LLDP neighbor log file
Get-Content "C:ProgramDataWinLLDPServiceneighbors.txt"

# Example output:
# Interface: Ethernet0
# Neighbor System Name: SW-FLOOR1-01
# Neighbor Port ID: GigabitEthernet0/12
# Neighbor Management IP: 10.0.0.1
# Neighbor System Description: Cisco IOS 15.2(7)E5
# Neighbor TTL: 120 sec

# Check Windows Event Log for LLDP events
Get-WinEvent -LogName Application | 
    Where-Object { $_.ProviderName -like "*LLDP*" } | 
    Select-Object TimeCreated, Message | 
    Format-List

Avantage clé de WinLLDPService : une fois installé, il surveille et enregistre en continu les modifications LLDP. Si vous branchez votre ordinateur portable sur un autre port du commutateur, les informations mises à jour s’affichent en moins de 30 secondes. Votre machine Windows apparaît également comme un voisin LLDP sur le commutateur, ce qui est utile pour la cartographie automatisée de la topologie et la documentation du réseau.

Méthode 3 : Commandes natives PowerShell

Aperçu

Windows 10/11 et Windows Server 2016 et versions ultérieures intègrent des commandes de découverte réseau. Bien qu'il ne s'agisse pas d'une implémentation LLDP complète, Get-NetNeighbor et les cmdlets associées fournissent des informations utiles sur la topologie du réseau.

# Show network neighbors (ARP/NDP cache)
Get-NetNeighbor

# Filter for reachable neighbors only
Get-NetNeighbor | Where-Object { $_.State -eq "Reachable" } | Format-Table -AutoSize

# Detailed network adapter configuration
Get-WmiObject -Class Win32_NetworkAdapterConfiguration | 
    Where-Object { $_.IPEnabled -eq $true } |
    Select-Object Description, IPAddress, MACAddress, DefaultIPGateway | 
    Format-List

# Check network interfaces and their status
Get-NetAdapter | Select-Object Name, InterfaceDescription, Status, LinkSpeed | Format-Table

# On systems with LLDP-capable NIC drivers:
# Some enterprise NICs expose LLDP data via proprietary WMI classes
Get-WmiObject -Namespace "rootwmi" -List | Where-Object { $_.Name -like "*LLDP*" }

Limitation : Windows natif ne dispose pas d’une pile LLDP intégrée pour la découverte des voisins au niveau des terminaux. Get-NetNeighbor affiche les voisins ARP/NDP de la couche IP, et non les voisins LLDP de couche 2. Pour obtenir des données LLDP réelles, utilisez les méthodes 1, 2 ou 4.

Exception : certaines cartes réseau professionnelles (Intel série I210/I350, Broadcom NetXtreme) disposent de pilotes Windows qui exposent les données de voisinage LLDP via des classes WMI propriétaires. Consultez les outils de gestion du fabricant de votre carte réseau (Intel PROSet, Broadcom Advanced Control Suite) pour connaître les options LLDP.

Méthode 4 : lldpd dans WSL2 — L’approche Linux Power

Aperçu

Si WSL2 est installé, vous pouvez exécuter le démon Linux natif lldpd au sein de votre environnement WSL2. Il s'agit de l'option la plus performante : lldpd est une implémentation LLDP de qualité professionnelle utilisée sur les serveurs Linux du monde entier, avec une prise en charge complète de tous les TLV LLDP, de LLDP-MED et de la sortie JSON pour les scripts.

Documentation officielle : https://lldpd.github.io

Vous découvrez la WSL2 ? Consultez notre guide complet : Guide complet de la WSL2 2026

# In your WSL2 terminal (Ubuntu/Debian):

# Install lldpd
sudo apt update
sudo apt install -y lldpd

# Start the daemon
sudo service lldpd start
# or:
sudo lldpd

# Wait 30-60 seconds for LLDP frames from the switch

# Show LLDP neighbors (the main command)
sudo lldpctl

# JSON output (perfect for scripting/automation)
sudo lldpctl -f json

# Continuous watch mode (shows updates as they happen)
sudo lldpctl -w

# Show your own LLDP announcements
sudo lldpctl -f keyvalue

Exemple de sortie lldpctl :

-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface:    eth0, via: LLDP, RID: 1, Time: 0 day, 00:00:45
  Chassis:
    ChassisID:    mac 00:1a:2b:3c:4d:5e
    SysName:      SW-DATACENTER-01
    SysDescr:     Cisco IOS Software, Version 15.2(7)E5, RELEASE SOFTWARE
    MgmtIP:       10.10.0.254
    Capability:   Bridge, on
  Port:
    PortID:       ifname GigabitEthernet1/0/12
    PortDescr:    Link to Workstation Zone A
  VLAN:
    VLAN ID:      100
    VLAN Name:    PROD_DATA_VLAN
-------------------------------------------------------------------------------

Note concernant le réseau WSL2 : WSL2 utilise une carte réseau virtualisée. Pour que les trames LLDP atteignent WSL2, le mode réseau doit être défini sur mirrored dans votre .wslconfig.

[wsl2]
networkingMode=mirrored

Après avoir enregistré et exécuté wsl --shutdown, rouvrez WSL2 et lldpd devrait pouvoir recevoir des trames LLDP du commutateur physique.

Activation du protocole LLDP sur votre Switch (Référence rapide)

Avant de lire les données LLDP depuis Windows, vérifiez que LLDP est activé sur votre commutateur :

! Cisco IOS — Enable LLDP globally
configure terminal
lldp run
lldp timer 30
lldp holdtime 120
end

! Verify LLDP is running
show lldp
show lldp neighbors
show lldp neighbors detail
# HP/Aruba ProCurve
lldp run
show lldp info remote-device

# Juniper EX Series
set protocols lldp interface all
commit
show lldp neighbors

Résumé : Choisir la bonne méthode

Méthode Idéal pour Complexité Persistant?
Wireshark Vérification rapide ponctuelle, analyse de paquets, débogage Faible Non (manuel)
Service WinLLDP Surveillance permanente, journalisation automatique, cartes topologiques Moyen Oui (service Windows)
PowerShell natif Recherche de voisins ARP/IP, scripts, cartes réseau d'entreprise Faible Non (limité)
lldpd (WSL2) Analyse approfondie, scripts JSON, prise en charge complète de LLDP-MED Moyen Oui (démon)

Scénario concret : Trouvez le port de votre Switch en 30 secondes

Voici un scénario concret qui illustre la valeur de LLDP dans les environnements d'entreprise :

Situation : Vous êtes administrateur système chez un client. L’armoire réseau comprend trois commutateurs Cisco de 48 ports chacun. Environ 120 câbles convergent vers un panneau de brassage mal étiqueté. Vous devez déplacer un poste de travail du VLAN 100 vers le VLAN 200, mais vous ignorez à quel commutateur et à quel port il est connecté.

Sans LLDP : suivez le câble depuis le poste de travail → prise murale → panneau de brassage → commutateur. Dans une armoire électrique encombrée et sans documentation, cela peut prendre 20 à 30 minutes. Vous risquez de débrancher le mauvais câble et de provoquer une coupure de courant.

Avec LLDP (Wireshark) :

  • Ouvrez Wireshark sur le poste de travail et filtrez : lldp
  • Lancer la capture, attendre 30 secondes
  • Lisez le résultat : « Vous êtes sur GigabitEthernet1/0/23 de SW-FLOOR2-ACCESS-01 (10.10.0.3) »
  • Connexion SSH au commutateur : ssh admin@10.10.0.3
  • Reconfigurez le port : interface GigabitEthernet1/0/23 → switchport access vlan 200

Durée totale : moins de 3 minutes. C’est toute la puissance du protocole LLDP pour les opérations réseau quotidiennes.

Déployez WinLLDPService sur l'ensemble de votre parc Windows et vous générez automatiquement une topologie réseau dynamique : qui est connecté à quel commutateur/port, mise à jour toutes les 30 secondes. C'est un outil précieux pour les audits réseau, la réponse aux incidents de sécurité (suivi des mouvements des appareils) et la documentation de l'infrastructure.

Conclusion

LLDP est l'un des outils les plus sous-utilisés de la panoplie d'administrateur système Windows. Une fois que vous l'aurez adopté, vous vous demanderez comment vous avez pu gérer votre réseau sans lui. La possibilité d'identifier instantanément votre position sur le réseau (quel commutateur, quel port, quel VLAN) vous épargne des heures de recherche de câbles et de tâtonnements.

Les quatre méthodes présentées dans ce guide couvrent tous les scénarios et tous les niveaux de compétence : de Wireshark pour une inspection visuelle rapide à lldpd dans WSL2 pour les utilisateurs avancés souhaitant une analyse LLDP complète de niveau Linux. Choisissez la méthode la plus adaptée à votre cas d’utilisation et à la fréquence de surveillance souhaitée.

Pour les audits de réseau, la documentation d'infrastructure et la conformité en matière de sécurité, LLDP combiné à WinLLDPService déployé à l'échelle de l'entreprise vous offre une topologie de réseau automatisée en temps réel qu'aucune feuille de calcul gérée manuellement ne peut égaler.