LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   snmp question (https://www.linuxquestions.org/questions/linux-networking-3/snmp-question-360050/)

alaios 09-04-2005 07:11 AM

snmp question
 
Hi :)
Do u have in mind any oid that maps the interface with an ip address?

acid_kewpie 09-04-2005 01:55 PM

just use snmpwalk to read the available oid in the interface branch.

alaios 09-04-2005 04:58 PM

In the interface branch there is no ipaddress that i need.. Do u have anything else in mind?

acid_kewpie 09-05-2005 04:13 AM

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)

alaios 09-05-2005 09:10 AM

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

scowles 09-05-2005 05:47 PM

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.