En las redes compuestas por dispositivos de red Cisco, el protocolo CDP es tremendamente útil para diversas tareas de administración, entre estas opciones, este protocolo nos permite descubrir la topología de una red en caso de que no dispongamos de la documentación requerida. Vamos a ver como podemos hacer esto en el cybertruco de hoy.
Cisco Discovery Protocol (CDP) es un protocolo propietario de red de capa 2, que es usa para adquirir información de los dispositivos de red Cisco conectados entre ellos. Salvo ligeras diferencias es un protocolo que funciona en todos los dispositivos Cisco por lo que es una buena manera de descubrir la topología de una red si este es el caso.
Este protocolo viene activado por defecto, por lo que es bastante probable que nos encontremos con estos dispositivos lanzando periodicamente anuncios CDP a sus vecinos. Cierto es que en los últimos meses han saltado a la palestra fallos de seguridad en CDP y que puede ser ciertamente utilizado para aumentar la información de una red durante un ataque pero se sigue recomendando su uso ya que es una herramienta quasi imprescindible para mejorar el diseño de red, encontrar errores o tomar decisiones para la mejora de la misma, aparte de ayudar a documentar la topologia de una red cuando no disponemos de documentación.
Verificar y configurar CDP
Antes decíamos que CDP es un protocolo activo por defecto pero eso no quiere decir que podamos en cualquier momento desactivarlo total o parcialmente, por lo que lo primero sería verificar si está en marcha en el dispositivo actual. Esto lo hacemos con el comando show cdp
Router# show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
En el caso que no estuviera en funcionamiento podríamos activarlo globalmente con cdp run. En el código siguiente primero lo desactivamos con no cdp run, para posteriormente comprobar el estado con show cdp y finalmente activarlo con cdp run.
Router(config)# no cdp run
Router(config) # exit
Router# show cdp
CDP is not enabled
Router# configure terminal
Router(config) # cdp run
Activar / Desactivar CDP en una interfaz de red
Esto también lo podemos hacer como decíamos a nivel de interfaz. Recordemos que con CDP podemos obtener información de los vecinos que utilicen el mismo link, por lo que si podemos desactivar una cierta interfaz en la que no nos interese anunciar CDP mientras la mantenemos en otra de la que cuelgue una red interna. Para desactivar CDP en una interfaz utilizaremos el comando no cdp enable, mientras que para volver a activarlo utilizaremos cdp enable.
Switch(config) # interface gigabitethernet 0/0/1
Switch(config-if)# no cdp enable
Switch(config-if)# cdp enable
Mostrar información de los vecinos
Para ver la información de las interfaces de los vecinos a los que estemos fisicamente conectados utilizaremos el comando show cdp neighbors. Como vemos en el siguiente ejemplo aparte del nombre se indica el tipo de dispositivo, el modelo, interfaz local y remota de la conexión.
Switch#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
Switch-Oficina Gig 0/1 152 S 2960 Gig 0/1
Router2 Gig 0/0 137 R C1900 Gig 0/0
Pero podemos obtener más información de cada uno de ellos como la ip, la versión de IOS, etc.. con el comando show cdp neighbors detail
Swtich#show cdp neighbors detail
Device ID: Switch-Oficina
Entry address(es):
IP address : 192.168.0.3
Platform: cisco 2960, Capabilities: Switch
Interface: FastEthernet0/24, Port ID (outgoing port): FastEthernet0/24
Holdtime: 134
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
advertisement version: 2
Duplex: full
A partir de estos datos podemos ir construyendo la topología de la red y a medida que descubrimos nuevos dispositivos conectar a los mismos con ssh para ejecutar de nuevo consultas CDP en el mismo e irnos adentrando poco a poco en todas las ramificaciones que pueda tener la red para poder documentarla.