我有一台 Cisco Catalytic 交换机,有一项任务是编写一些网络网关,允许计费来控制交换机中的端口、收集不同的统计数据等。实现这一目标的现代方法是什么?之前使用超微交换机时,我只是编写了一个 PHP 脚本,该脚本将shell_exec
命令传递给netcat
连接到交换机的设备。我认为这不是最好的方法,所以我寻求帮助。
也许有一些库可以做到这一点?对于 Perl,我看到一个名为网络::设备::会话正如我所见,它看起来确实很好,但是我不太擅长 Perl,所以我在寻找基于 PHP/Ppython 的东西。
更新 到目前为止,我发现 Python 的扳机和脚本。对于我的简单端口打开/关闭和速度改变任务来说看起来相当不错:
from Exscript.util.interact import read_login
from Exscript.protocols import SSH2
account = read_login()
conn = SSH2()
conn.connect('14.45.43.5')
conn.login(account)
conn.execute('conf t')
print conn.response
conn.send('exit\r')
conn.close()
但我仍然认为解析不同的状态报告会让我头疼,所以也许我需要使用其他东西或拆分统计信息收集和操作功能。例如,使用 SNMP 进行统计。
答案1
我最终使用了PySNMP
。不清楚 SNMP v3 是否具有很好的加密功能,并且它不仅允许收集数据,还允许操纵设备。