Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have been given a network (it is a LAN) comprised of switches and I need to discover the topology of that. (There may be Link Aggregation Groups (LAGs) in the network as well.)

I have done a lot of search on layer 2 topology discovery and I have seen many articles talking about using SNMP MIBs or LLDP (I do not know which one is better or more practical, but all devices in my network support SNMP). But my problem is that I cannot find "the software to install and run" to actually see the topology map. I would really appreciate if someone could send me the website where I can download the code and use it.

I have also found a lot of tools available online such as OpenNMS, Nagios, The Dude, LANsurveyor, SNMPwalk, and many more... But I cannot figure out which one is the best to pick. To summarize: what is the easiest simplest way to discover the layer 2 network topology?

share|improve this question

closed as off topic by EEAA, Hyppy, John Gardeniers, Tim Brigham, Wesley Jun 27 '12 at 1:22

Questions on Server Fault are expected to relate to professional server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

3 Answers

Do you want to truly know? Access the management interface on each switch, and look through the running configuration. Mark down trunk ports in particular, then trace those cables. Rinse and repeat as necessary until you have analyzed all the switches. LLDP or CDP are helpful in figuring out adjacencies, but are far from foolproof.

No bit of software will do this 100% correctly, despite what they claim. Sometimes you just have to get your hands dirty.

share|improve this answer
Thanks for the details, but I am not an expert in configuring switches at all, do you mean I should do all of these manually? I need something quick and easy, although it might not be as accurate as you explained. Could you please explain a little bit about how I should start using LLDP? –  pegah s Jun 22 '12 at 0:22
"Quick and easy" isn't exactly something that can be done, unless you just want to start guessing. The implementation of the command to query LLDP or CDP is based on the OS running on the switch. It's not particularly hard to do, most times. Give it an afternoon or few days depending on the size of the network. The worst that will happen is that you'll learn something. –  Hyppy Jun 22 '12 at 0:50
Ok, I will do that. I want to learn, I just don't know where to start. (The switches run different kinds of OS's. If you are aware of any manual/website that describes the implementation of the command for LLDP, for any OS, I would be grateful if you could send it to me.) –  pegah s Jun 22 '12 at 0:58
add comment

If you are willing to put in the time, the linkd functionality of OpenNMS does work as long as you have supported switches. It does pickup the links and devices if everything on the network is SNMP or CDP capable.

share|improve this answer
add comment

If you use a program such as Spiceworks, it will give you the MAC address of most devices on your network.

A good switch will also have a table on the management interface correlating MAC addresses with ports. If there's only one device on a port, that means it's directly connected to the switch. If there's multiple devices listed for that port, there's a switch or other extended network segment on that port (and you'll have to do further tracing). This is as close as you can get to "automatic" without getting your hands dirty and doing some manual tracing.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.