Check the course calendar for the due date.
In this assignment, you will use various snmp tools to experiment with network management, the SNMP protocol, MIBs, etc. SNMP is a request/response protocol, where the requestor asks for SNMP data items and the agent responds with them.
You will be using basic, low-level tools from the net-snmp package to explore the MIBs. This provides the opportunity to better understand the protocol. However, most network administrators use graphical tools to help them monitor and manage many devices. One of the discussion questions will ask you to investigate such graphical tools through the Web.
This lab is based on one by Mike Erlinger with modifications by Janet Davis. This lab is will never be very polished as most sysadmins do not use SNMP to manage there network. Device vendors create their own tools; underneath many use SNMP for some operations
Each student pair should complete this assignment and write it up in his or her lab notebook. However, you may discuss the material with whomever you wish. You may obtain help from anyone you wish, but you should clearly document that help.
From Tim:
SNMP has been enabled on our Cisco switches (Neutron and Electron) with community string “cs125".
Some of the printers are running it with the default “public” community string.
(gute, berg, jumbo, greebo, and parchment)
You can use snmpwalk on Knuth as follows:
snmpwalk -v2c -c cs125 neutron | less
snmpwalk -v2c -c public parchment | less
Emulab network for this lab. You will need to download SNMP
tools
for one of your nodes (this will be the SNMP manager);
and turn-on MIBS for each of your machines and routers.
Once you figure out some of this, please send email to the class mail
list.
Please use script or copy-and-paste to capture the results of your exchanges in your lab notebook. You need not intersperse your commentary with your experiments if this is overly burdensome.
Also remember to include your answers to the discussion questions.
Once you have done the installations and turned-on SNMP:
Verify that you can connect to all your nodes by fetching their names, e.g.:
snmpget -v1 -c <community> <host> sysName.0
Find the location and contact person for the three devices using snmpget
.
Probably not filled out. Using snmpset
You should be able to fix this.
Try using snmpgetnext
instead of snmpget
.
What's the difference? Why have both?
Investigate a table.
In
the udp
group, recall that udpTable
follows the udpOutDatagrams
counter.
Ideally on your router, but if it does not work there, one of your hosts,
use snmpgetnext
to
find the first entry in udpTable
. Then use snmpgetnext
to get
subsequent entries in the table until you see an OID that no longer is
part of the updTable
table.
Then, try using snmptable
to fetch the entire udpTable.
Finally, use snmpwalk
to get the entire contents of the udp group.
Which method do you prefer? Why?
Now investigate the ifTable
on the same host using all three methods. Does your opinion change?
Force traffic between two of your hosts (neither of them are to be the SNMP manager). Now use SNMP to look at the interface statistics on each host. See if what you are measuring reflects the traffic that you force.
Try using snmpnetstat
on one of your nodes.
What does this program do? What options does it have?
So now let's get tricky. Fire up Wireshark on your the node acting as your SNMP manager. Then repeat #s 1 and 2 from above, but have Wireshark capture the exchange of messages. When this bombs, tell me why it did not work :-)
What objects seem especially useful for managing a switch, web server, mail server, or file server? Why?
What would be particularly interesting for future CSC 364 students to look at? Why?
Remember that you can use the man program to learn how to use other programs such as snmpget.
Explain how the snmptable and snmpwalk programs might be implemented.
Based on your experiences, why would a GUI be valuable for using SNMP to monitor and manage a network? (Or put another way, why would the command-line tools be insufficient?)
Use Google to find the web site of at least one graphical tool for viewing SNMP data or managing SNMP devices. Give the the URL and briefly explain the capabilties of the tool. Who is the tool intended for? See if you can install the tool on your Emulab network.
How much time did you spend on the different parts of this lab?
For a B, complete part A and the discussion questions.
For an A, complete parts A and B, and the discussion questions.
Notes - Tim 2018
SNMP is now enabled on Neutron (the Cisco Catalyst 3850 that we use as a router). The community name “cs125” has read-only access using SNMP v2c. So for example, using the “snmpwalk” utility on Knuth you can view all MIBs (warning: it’s about 930 KB if you fetch them all) using "snmpwalk -v2c -c cs125 neutron”
I’ll also enable it on Electron (the Cisco SG550XG switch in our main server rack) in a day or two, but I need to reboot electron first.
I’ll be putting Proton (an old Cisco Catalyst 3750-X) in the research rack soon. I may also enable SNMP on it, but first I have to check to see if there are any outstanding security vulnerabilities. (It’s old enough that it doesn’t get security updates anymore.)