Просматривая вывод snmpwalk
Что касается нашего коммутатора GS724T Netgear, я был удивлен тем, что он не указывает, какие MAC-адреса подключены и / или используют данный порт на коммутаторе. Вроде бы полезная информация. Это просто ограничение GS724T? Я вижу, что он помечен как «Умный коммутатор», что, казалось бы, указывает на то, что он не соответствует полностью управляемому коммутатору, но такая простая вещь, как сбор MAC-адресов, может показаться чем-то, что должно быть включено, даже в коммутатор более низкого уровня, такой как этот .
Когда я запускаю следующую команду, я получаю только MAC-адрес коммутатора на каждом порту.
$ snmpwalk -v2c -c public switch01 mib-2.interfaces
IF-MIB::ifPhysAddress.1 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.2 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.3 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.4 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.5 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.6 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.7 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.8 = STRING: 84:1b:5e:6f:65:21
IF-MIB::ifPhysAddress.9 = STRING: 84:1b:5e:6f:65:21
...
Мне здесь не хватает чего-то простого?
У меня есть «умный переключатель» GS716T, и я никогда не мог заставить его работать. В итоге я использовал скрипт Python для отправки веб-запроса, входа в систему и перехода на веб-страницу, на которой указана эта информация. Потом соскоблил и хранил по мере необходимости. Я больше не использую этот переключатель.
Я знаю, что это немного другая модель, но из того же семейства.
Вот соответствующий код. Я больше не использую его YMMV.
import urllib, urllib2
import cookielib
from BeautifulSoup import BeautifulSoup
def getMACTable():
password = 'password'
base_url = 'http://1.2.3.4/base'
cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))
login_data = urllib.urlencode({'pwd' : password})
opener.open(base_url + '/main_login.html', login_data)
resp = opener.open(base_url + '/base/system/fwd_db.html')
result = resp.read()
soup = BeautifulSoup(result)
tbl1 = soup.find('table', id='tbl1')
return tbl1