Determine quais endereços MAC estão conectados a uma determinada porta em um Netgear GS724T via SNMP?

3

Ao analisar a saída de um snmpwalk em relação ao switch GS724T Netgear, fiquei surpreso por não listar quais endereços MAC estão conectados e / ou usando uma determinada porta no switch. Esta parece ser uma informação útil. Isso é apenas uma limitação do GS724T? Eu vejo que ele é rotulado como um "Switch Inteligente", que parece indicar que é inferior a um switch totalmente gerenciado, mas algo tão básico como coletar os MACs parece ser algo que deve ser incluído, mesmo em um switch de nível inferior como este .

Quando executo o seguinte comando, só recebo o endereço MAC do switch em cada porta.

$ 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
...

Estou sentindo falta de algo básico aqui?

    
por slm 13.06.2014 / 17:41

1 resposta

3

Eu tenho um "Switch Inteligente" GS716T e nunca consegui fazer isso funcionar. O que acabei fazendo foi usar um script Python para enviar uma solicitação da web, efetuar login e ir para a página da web que lista essas informações. Então eu raspei e guardei conforme necessário. Eu não uso mais esse interruptor.

Eu sei que é um modelo ligeiramente diferente, mas é a mesma família de produtos.

Aqui está o código relevante. Eu não uso mais assim 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
    
por 13.06.2014 / 17:53