MFD:ifTable:Testing
MFD Tutorial | |
MFD : ifTable testing
If you have not been compiling as you went along, try and compile now.
$ |
make -f ifTable_Makefile |
After running make, you should have an executable named ifTable.
Starting the agent
You can run the ifTable agent as a regular SNMP agent, or as an AgentX sub-agent. The default is to run as a sub-agent. While testing, the -f (do not fork into background) and -L (log to stderr) options are recommended.
AgentX Sub-agent: | ifTable -f -L | |
Standard SNMP Agent: | ifTable -M -f -L [udp[:port]] |
Note that running the sub-agent application as a master agent will runwithout any access control. All SNMPv1 and SNMPv2c requests will be accepted, regardless of the community string.
For that reason, when testing I run as a regular user (not root), and only bind to the localhost interface, like so:
$./ifTable -f -L -DifTable -M localhost:1161 2004-04-21 21:51:47 ifTable:init_ifTable: Registering ifTable as a mibs-for-dummies table. 2004-04-21 21:51:48 ifTable: using linux 2.2 kernel /proc/net/dev |
Querying the agent
A simple snmpwalk will quickly test the module:
$snmpwalk -v1 localhost:1161 ifTable IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifDescr.1 = STRING: IF-MIB::ifDescr.2 = STRING: IF-MIB::ifDescr.3 = STRING: IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.3 = INTEGER: tunnel(131) IF-MIB::ifPhysAddress.1 = STRING: 0:0:0:0:0:0 IF-MIB::ifPhysAddress.2 = STRING: 0:30:65:cd:a3:c8 IF-MIB::ifPhysAddress.3 = STRING: 0:0:0:0:0:0 IF-MIB::ifInOctets.1 = Counter32: 51368348 IF-MIB::ifInOctets.2 = Counter32: 2666605618 IF-MIB::ifInOctets.3 = Counter32: 0 IF-MIB::ifInUcastPkts.1 = Counter32: 415774 IF-MIB::ifInUcastPkts.2 = Counter32: 13971039 IF-MIB::ifInUcastPkts.3 = Counter32: 0 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInDiscards.2 = Counter32: 0 IF-MIB::ifInDiscards.3 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifInErrors.2 = Counter32: 0 IF-MIB::ifInErrors.3 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 51370076 IF-MIB::ifOutOctets.2 = Counter32: 879325033 IF-MIB::ifOutOctets.3 = Counter32: 0 IF-MIB::ifOutUcastPkts.1 = Counter32: 415798 IF-MIB::ifOutUcastPkts.2 = Counter32: 8046959 IF-MIB::ifOutUcastPkts.3 = Counter32: 0 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutDiscards.2 = Counter32: 0 IF-MIB::ifOutDiscards.3 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 IF-MIB::ifOutErrors.2 = Counter32: 0 IF-MIB::ifOutErrors.3 = Counter32: 0 IF-MIB::ifSpecific.3 = No more variables left in this MIB View (It is past the end of the MIB tree) |
If you ran the agent with debugging, you should see something like this:
$./ifTable -f -L -DifTable -M localhost:1161 2004-04-21 21:51:47 ifTable:init_ifTable: Registering ifTable as a mibs-for-dummies table. 2004-04-21 21:51:48 ifTable: using linux 2.2 kernel /proc/net/dev |