在查看我们的 GS724T Netgear 交换机的输出时,snmpwalk
我很惊讶它没有列出连接的 MAC 地址和/或使用交换机上给定端口的 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
...
我这里是否遗漏了一些基本的东西?
答案1
我有一个 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