Contact Chase

Project Details


Project Tags

The following tags have been assigned:


Media Gallery

A screenshot of the application after it is first started or after it has had its output cleared but has not yet received a CDP announcement.The dropdown list at the top of the application allows the user to assign the network adapter they wish to monitor for CDP network traffic.An example of some of the contents of a CDP packet displayed for the user. The blue text indicates that the packet was received between ten and sixty seconds ago.
An example of some of the contents of a CDP packet displayed for the user. The green text indicates that the packet was received between zero and ten seconds ago.An example of some of the contents of a CDP packet displayed for the user. The blue text indicates that the packet was received between ten and sixty seconds ago.An example of some of the contents of a CDP packet displayed for the user. The red text indicates that the packet was received more than one minute ago. Cisco equipment, by default, sends one CDP announcement every sixty seconds.
An example of some of the contents of a CDP packet displayed for the user. The green text indicates that the packet was received between zero and ten seconds ago.An example of some of the contents of a CDP packet displayed for the user. The blue text indicates that the packet was received between ten and sixty seconds ago.An example of some of the contents of a CDP packet displayed for the user. The red text indicates that the packet was received more than one minute ago. Cisco equipment, by default, sends one CDP announcement every sixty seconds.

Related Projects

The following projects are related:

Cisco Discovery Protocol (CDP) Reporter


This project was done while I was an RTA Coordinator with Student Affairs IT at the University of Montana, Missoula.

Student Affairs IT (SAIT) is responsible for managing and maintaining the network infrastructure within all of the on-campus residence halls and the off-campus Lewis and Clark Village (LCV) apartments for student housing. In particular, using the Talos web application I also created, our staff had the ability to enable or disable specific network ports on the hundreds of network switches throughout these buildings based on associations with specific room numbers and port locations within those rooms. This was necessary to remotely handle activating specific ports when students paid for internet access (for example, enabling an interface connected to a network jack in the student's living room of their apartment in addition to the already active port in their bedroom) or for disabling a port in situations where network access needed to be blocked (for example, malfunctioning hardware or malicious software disrupting other network devices).

Unfortunately, at the time I was creating the Talos system, a bit of spot-checking of the documentation available at the time for mapping associations between interfaces on each switch to an actual room number and port location within that room revealed that much of the existing documentation was outdated, inaccurate, or simply did not exist. We, therefore, needed a way to quickly gather this information - most importantly the switch IP address and interface number associated with each location - for thousands of different locations throughout these buildings.

After a bit of research I identified a possible solution to this problem. The Cisco Discovery Protocol (CDP) is a proprietary Data Link Layer network protocol developed by Cisco Systems and is used to share information between directly connected Cisco equipment. As Cisco was the vendor for all of the switches which would require this documentation I was confident I would be able to make use of this already established protocol to extract the data we desired. By default, Cisco equipment, including network switches, is designed to emit a CDP announcements to the multicast destination address 01000CCCCCCC every sixty seconds. With access to manage a switch this frequency is also user configurable.

After spending some quality time with the CDP packet documentation from Cisco and a copy of Wireshark, I developed this software which is responsible for monitoring all network traffic on a specified network adapter and identifying any relevant CDP information it receives. This information is then displayed to the user in a GUI and optionally automatically copied to the clipboard in a format allowing it to be pasted directly into an excel spreadsheet during the documentation process. Using the information received in these CDP announcements it is possible to determine - at the most basic level - the FQDN of the switch, the IP address of the switch, the model of the switch, the version of the software running on the switch, and the interface on the switch that the device running my software is connected to.

Now, with this software running on any laptop one of our staff members could easily and quickly visit each network jack throughout these buildings, manually document the room number and port location with that room, and use this software to automatically generate the remainder of the needed information simply by plugging the laptop into an Ethernet cable attached to that network jack.