snmp question
Hi :)
Do u have in mind any oid that maps the interface with an ip address? |
just use snmpwalk to read the available oid in the interface branch.
|
In the interface branch there is no ipaddress that i need.. Do u have anything else in mind?
|
well search the whole lot then.. it's not tricky just to grep it and look around the output a little...
try IP-MIB::ipAdEntIfIndex (.1.3.6.1.2.1.4.20.1.2) |
Thx a lot
What make things strange is the fact that the command snmpwalk -v1 -c public 192.168.1.10 .1.3.6.1.2.1.4.20.1.2 IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1 IP-MIB::ipAdEntIfIndex.192.168.0.1 = INTEGER: 3 IP-MIB::ipAdEntIfIndex.192.168.1.10 = INTEGER: 2 returns 3 entries.. I have some c code that queries the snmp server using the oid and stores the return value to a variable.. The problem i think is how to retrieve the ip address when the specific oids return 1 ,3 and 2 accordingly |
Walking a MIB is not easy.
If I were in your shoes, I would first walk the "if" portion of the mib and find: 1) Number of bound interfaces - IF-MIB::ifNumber.0 2) Setup a loop to walk the "if" MIB like "for ( i =1, IF-MIB::ifNumber.0, i++)" 3) Loop the "if" MIB for the physical interface name you are looking for (like eth0) and find the corresponding "if" index number. Should be 1, 2 or 3 using your example. 4) Now search the "ip" portion of the MIB that corresponds to the physical index number. BTW: I always add -Ofn to snmpwalk/snmpget commands. Good Luck |
All times are GMT -5. The time now is 09:09 PM. |