Seeing if I can map out the number of clients attached to a LWAP that is controlled via a WiSM.
The table containing the list of APs and the number of clients each is:
1.3.6.1.4.1.14179.2.2.13.1.4
This will display a list of the following types of entries:
0.34.85.242.67.80.0 = 9
Where 0.34.85.242.67.80.0 is the AP identifier (apparently the MAC address converted to decimal but that doesn’t check out) and the number of clients as the value. So the whole OID/Value will be 1.3.6.1.4.1.14179.2.2.13.1.4.0.34.85.242.67.80.0 = 9 .
That in itself isn’t a problem. What I want to do is search another table that provides the same AP identifier but with the APs IP/MAC address as the value. Then search for a given IP, grab the AP ID, search the “No. Client” table and return the value. Basically linking the IP/Mac to the number of clients.
Then I can scan the LWAP subnet and magically return the number of clients attached to each given the discovered IP address.
I am not sure where you are getting the table from, is the SNMP information for every device being collected by the WiSM?
In any case snmpwalk the table where you got 0.34.85.242.67.80.0 = 9 from. Once the walk has downloaded the entire table search for the actual mac address or IP address you know should be in there. See if you can correlate the two. For example 1.3.6.1.4.1.14179.2.2.13.1. looks like it would maybe be the array of entries that contain mac addresses where 1.3.6.1.4.1.14179.2.2.13.1.4 is the 4th entry down and that contains your example mac address. So maybe 1.3.6.1.4.1.14179.2.2.13.2 or 1.3.6.1.4.1.14179.2.2.13.3 is the array of entries that contain IP addresses, it could be anywhere but as long as it is an array of IP addresses and the tables are aligned (meaning the 4th one down in this area correlates to the 4th one down in another area) then you can concatenate the entries.
If you can correlate two different areas in SNMP then you can just concatenate them.
So ‘0.25.169.166.246.32’ is the unique identifier for the AP, the .0 on the end in the bsnAPIfLoadNumOfClients is the interface number (or ‘instance’) (.0 = 802.11bgn, .1 = 802.11an).
And the entries do line up as you say (ie element 1 in the ‘bsnAPIpAddress’ table equals element 1 in the ‘bsnAPIfLoadNumOfClients’ table).
So I want to lookup the IP address (device.firstaddress) of an AP in the ‘bsnAPIpAddress’ table and find the corresponding entry in the ‘bsnAPIfLoadNumOfClients’.
The WiSM has all the SNMP info on its APs, you can’t poll the APs directly (no SNMP). So for each AP I have in my map I need to collect the device.firstaddress and use it to lookup the SNMP info from it’s controller (WiSM) to gather any SNMP data on that AP.
Thanks!
edit: actually the decimal to hex does check out - 0.25.169.166.246.32 equals 0.19.A9.A6.F6.20 which is the ‘Base Radio’ MAC address of the AP (not to be confused with the AP MAC Address). So another way to solve this is via a decimal to hex conversion.