AccueilCCNACCNA coursEspionnez ses voisins avec CDP :)

Espionnez ses voisins avec CDP :)

En voi­là un pro­to­cole super utile ! Et on peut dire cha­peau à Cis­co de l’a­voir créé !

Cer­tains diront que j’en fais un peu trop sur Cis­co mais il faut avouer que ce pro­to­cole est d’une uti­li­té gran­diose quand on débarque sur un réseau incon­nu. Et pour preuve, une norme découle de ce pro­to­cole pour l’in­te­ro­pé­ra­bi­li­té, le LLDP – Link Layer Dis­co­ve­ry Protocol.

Ima­gi­nez : vous êtes en console ou en tel­net sur un rou­teur et vous vous deman­dez quel est le port connec­té au switch voi­sin et même vous aime­riez bien savoir quel est le port du switch en ques­tion. Com­ment faire ? à part connaitre l’ar­chi­tec­ture par coeur ou avoir un sché­ma réseau sous la main, il n’y a pas de solu­tion. Sauf si vous êtes en pré­sence de rou­teur et switch Cisco !

Définition

Le CDP – Cis­co Dis­co­ve­ry Pro­to­col, per­met de décou­vrir ses voi­sins directs en envoyant régu­liè­re­ment des mes­sages sur tous les ports de l’é­qui­pe­ment. Si le voi­sin est du Cis­co, il vous répon­dra, sinon vous sau­rez que ce n’est pas du Cis­co en face 🙂

Ce pro­to­cole fonc­tionne sur la plu­part des équi­pe­ments Cis­co, que ce soit un rou­teur, switch, borne WiFi, télé­phone IP… et j’en passe.

Faire atten­tion, c’est un pro­to­cole de niveau 2 point à point –> On découvre ses voi­sins directs, pas les voi­sins de mon voisin.

Par défaut, le pro­to­cole est actif sur tous les ports, pour le désac­ti­ver, il y a 2 possibilités :

  • désac­ti­va­tion totale
Switch_A(config)# no cdp run
Switch_A(config)# end
  • désac­ti­va­tion par port
Switch_A(config)# interface FastEthernet 0/1
Switch_A(config-if)# no cdp enable
Switch_A(config-if)# end

Fonctionnement

Pas grand chose à savoir si ce n’est la com­mande sui­vante pour visua­li­ser ses voisins :

Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r – Repeater
Device ID   Local Intrfce   Holdtme   Capability   Platform   Port ID
SW_B         Fa0/1           129       S            2900       Fa0/8
SW_C         Fa0/2           144       S            2900       Fa0/8 
Switch#

Que nous dit cette com­mande ? et bien que :

  • notre Switch est connec­té via le port Fa0/1 à un équi­pe­ment nom­mé SW_B sur son port Fa0/8 ;
  • notre Switch est connec­té via le port Fa0/2 à un équi­pe­ment nom­mé SW_C sur son port Fa0/8 ;
  • que la Capa­bi­li­ty de ces 2 équi­pe­ments est « S », en regar­dant la légende, on sait que ce sont 2 switchs.

Remarque pour le CCNA : la ques­tion typique est « qui est connec­té à qui et com­ment ? »

Il faut faire atten­tion à la seconde colonne « Local Intrfce » qui iden­ti­fie l’in­ter­face de votre switch et pas celle de votre voi­sin (erreur clas­sique car juste à côté du nom). Celle du voi­sin est pré­ci­sée dans la der­nière colonne « Port ID ».

Main­te­nant, j’ai­me­rais en savoir un peu plus sur ces switchs voi­sins, je tape la même com­mande mais avec la variable detail à la fin :

Switch# show cdp neighbors detail
-------------------------
Device ID: SW_B
Entry address(es):
IP address: 192.168.1.2
Platform: cisco 2950,
Capabilities: Switch
Interface: FastEthernet0/8, Port ID (outgoing port): FastEthernet0/1
Holdtime : 123 sec
Version :
Cisco Internetwork Operating System Software IOS (tm) 2900 Software (C2950), Version 12.2(3) Copyright (c) 1986-2002 by Cisco Systems, Inc.
advertisement version: 2 Duplex: full
-------------------------
. . .
Switch#

Et là, c’est le miracle ! On connait qua­si­ment tout sur notre voisin :

  • son nom : SW_B
  • l’a­dresse IP de mana­ge­ment (pra­tique pour faire un tel­net): 192.168.1.2
  • le type d’é­qui­pe­ment : switch Cata­lyst 2950
  • la ver­sion de l’IOS ins­tal­lé des­sus (ça c’est fort!): 12.2(3)

Je n’ai pas mis la suite mais on a les mêmes infor­ma­tions pour SW_C, c’est à dire nom, adresse IP…

Donc pour le CCNA, soyez à l’aise avec ce pro­to­cole car vous aurez des impres­sions d’é­crans vous deman­dant de détailler le conte­nu (qui est connec­té à qui et com­ment) ou vous aurez un TP avec une console à dis­po­si­tion où il fau­dra uti­li­ser le CDP pour iden­ti­fier vos voisins.

8 Commentaires

  1. Comme d’hab, article lim­pide. ton site m’aide beau­coup à avancer.
    je trouve cdp utile par le fait qu’il per­met (si on est en tout cis­co 🙁 ) de dres­ser aisé­ment une topo­lo­gie detaillée de son réseau.
    Y a t il une com­mande cdp (en 1 ligne) pou­vant per­mettre de lis­ter les port non acti­vés pour ce protocole ?

    • Bon­jour Steve,
      Mer­ci pour le compliment 🙂
      Pour savoir sur quel port le pro­to­cole CDP est acti­vé, il y a une astuce. Avec la com­mande « show cdp inter­face », on voit toutes les inter­faces pour les­quelles le CDP est acti­vé. On peut en deduire que les inter­faces absentes de la liste n’ont pas le CDP activé.
      Comme cette com­mande affiche trop d’in­for­ma­tions, on peut fil­trer en ne deman­dant de n’af­fi­cher que les lignes qui contiennent « Ether­net », comme ca l’af­fi­chage sera plus simple a lire. Je te laisse taper les com­mandes « show cdp inter­face » puis après la com­mande « show cdp inter­face | include Ether­net », tu ver­ras la différence.
      Atten­tion, la variable « Ether­net » est avec un « E » majuscule.

  2. Je suis entrain de pré­pa­rer mon CCNA pour le mois d’oc­tobre pro­chain. Mer­ci, beau­coup pour cet article car il m’a ouvert les yeux.

  3. Très très utile comme pro­to­cole. C’est obli­gé qu’il y est une ques­tion sur le sujet pen­dant l’exa­men de la CCNA donc à ne pas faire l’im­passe dessus 🙂

    • Bon­jour Morgan,

      En effet, ce pro­to­cole tom­be­ra lors de l’examen.
      Je pense faire pro­chai­ne­ment une vidéo sur son fonc­tion­ne­ment afin que tout le monde puisse visua­li­ser le fonc­tion­ne­ment du CDP.

      A bien­tôt !

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Les plus populaires