Protocoles d'administration réseau CDP, LLDP Stephane.frati@unice.fr
Exploitation de tous les jours Documentation difficile à maintenir à jour Seule la réalité fait vite foie Comment savoir qui est connecté et à quel endroit ? « Tiens, on m’a encore piqué un switch ? »
Protocoles venant à votre aide Découverte Topologie Capacités Inventaire Mesure de performances Rapports… Attention à l’utilisation: bon gars % mauvais gars
CDP (Cisco Discovery Protocol) protocole propriétaire Cisco indépendant du média s'exécutant sur la couche liaison de données utilisé pour la découverte du voisinage réseau. Ne donne des informations que sur les équipements voisins directs types, interfaces utilisées pour établir les connexions, numéros de modèle Version d’OS Actif par défaut: (v1 si IOS 10.3 à 12 sinon v2) CDPv2 (nom de domaine de gestion VTP, le VLAN natif, le mode Full-Duplex ou Half-Duplex)
CDP - Trafic multicast ethernet
CDP (Cisco Discovery Protocol) périodiquement des messages d’annonces sont envoyés sur « chaque port », aux équipements réseau directement connectés show cdp neighbors pour afficher les informations sur les réseaux directement connectés Les informations suivantes ne sont comprises que dans Les commandes suivantes sont utilisées pour mettre en oeuvre, surveiller et mettre à jour les informations CDP : - cdp run no cdp run (global context) - cdp enable no cdp enable (interface context) - show cdp traffic - clear cdp counters - show cdp - show cdp interface [type number] - show cdp neighbors [type number] [detail] - debug cdp events - debug cdp ip - debug cdp packets
LLDP multi-marques: contrairement à d’autres IEEE 802.1AB – Link Layer Discovery Protocol (LLDP) Protocole standard extensible multi-marques permet: network topology discovery exchange device configuration and capabilities multi-marques: contrairement à d’autres
Contenu du protocole Simple one-way neighbor discovery protocol with periodic transmissions LLDP frames are not forwarded, but constrained to a single point to point link LLDP frames contain formatted TLVs (type, length, value) Globally unique system and port identification Time-to-Live information for ageing purposes Optional system capabilities (e.g. router, IP phone, wireless AP) Optional system name, description, and management address Organizational extensions Receiver stores information in a neighbor database, accessible via SNMP MIB
Comment ça marche bien ? Management App Discovery MIB Management App Topology discovery, location, inventory & more port device info A19 Switch xxxx C2 IP-Phone D2 F3 VoIP Gateway Discovery MIB SNMP PSTN port device info A4 IP-phone xxxx PC B6 B21 Switch I’m a switch I’m a VoIP Gateway / Server I’m a switch I’m a switch I’m a switch I’m an IP-Phone I’m a switch I’m a switch I’m a switch I’m an IP-Phone I’m a PC I’m an IP-Phone I’m a PC I’m a PC
LLDP Frame Format IEEE 802.3 LLDP frame format LLDPDU format LLDP Multicast = 01-80-C2-00-00-0E (same as Spanning Tree except for last octet) LLDPDU format Each TLV (Type, Length, Value) contains a set of useful attributes
Démonstrations LLDP et CDP wireshark/tshark sniffing : Le bon gars… LLDP et CDP wireshark/tshark sniffing : tshark -i eth0 -V 'multicast and (ether[12:2]=0x88cc or ether[20:2]=0x2000)' > /tmp/lldp-capture.txt Equivalent en tcpdump: tcpdump -i eth0 -c 1 -v ether[12:2]=0x88cc or ether[20:2]=0x2000 2>&1 |grep "\(System Name TLV\|Management Address length\|Port Description TLV\)" | cut -d':' -f2- Le mauvais gars… LLDP Fuzzing & BO: http://www.darknet.org.uk/2007/08/lldp-link-layer-discovery-protocol-fuzzer/