Building Applications to interconnect with Cisco devices.

Unanswered Question
Aug 4th, 2008

I put this conversation here as there is no other spot to put it.

Currently I want to build a C# application that has to find the CDP info of an IP telephone set. The CDP is a protocol specific to Cisco and is not implemented in the current languages. Has someone an idea how I can easily implement in C# the CDP protocol in order to get the CDP info of the set as well as a method to send the CDP query to the IP phone ?

The CDP protocol is not implemented in C# and I don't want to use tools like ethereal to get the CDP info.

I also want to know if there are some external functions available to be used for CDP in any programming language anyway ?

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
pcameron Mon, 08/04/2008 - 03:33

CDP is sent as a layer 2 multicast sent to the address 01:00:0c:cc:cc:cc


For more details refer here -


http://www.cisco.com/en/US/products/hw/switches/ps663/products_tech_note09186a0080094713.shtml#cdp


Wikipedia has some reasonable detail as well -


http://en.wikipedia.org/wiki/Cisco_Discovery_Protocol


There are no queries sent out by any devices - each device (such as the phone) just advertises it's details at periodical intervals and relies on the router or switch to build up a database of entries, which can then be examined by the "SHOW CDP NEIGHBOR DETAIL"


If all you want to do is send out a CDP packet, technically you could just send a crafted hex file that is the representation of the CDP details direct to the NIC of a PC.


If you want to determine details about phones on the network you would need to listen for all traffic on the 01:00:0c:cc:cc:cc multicast MAC address then simply build up a table of entries for additional processing. I'm not in any way an expert in network programming but I think you could find some guides that show you how to do this.

Actions

This Discussion