如何使用C#启用/禁用Cisco Catalyst 2960中的端口?

tin*_*ngc 5 cisco snmp

我刚毕业,刚刚在香港做了第一份程序员.如上所述,我需要使用C#来控制Cisco交换机上的端口.

我已经搜索和学习了很长时间,所以我掌握了SNMP和MIB的基本知识.我可以找到一些文章谈论如何管理cisco开关,但没有一个指定如何启用和禁用端口.此时我想我需要配置交换机以启用SNMP服务,然后我应该发送SNMP Set数据包来打开/关闭特定端口.这是对的吗?

任何人都有一些经验,喜欢和我分享?请留下一些建议.如果你以前读过一些有用的网站,请留下这里的网址,这样我也可以看看.

非常感谢你的关注.

Nia*_*rne 7

我知道三种方法(我最喜欢第一种方法):

选项1:
处理类似这样的事情的常用方法是自动telnet(或自动ssh)发送适当的命令.IOS在很大程度上是非常标准化的,并且这种方式运行得很好--TCL
Expect包非常适合这种事情......我想有一个C#实现.

如果您已熟悉IOS语法,则效果最佳.

选项2:
这可能是您想要的:
IF-MIB :: ifAdminStatus可通过SNMP写入(以下是使用NET-SNMP的示例):

接口UP:
snmpset -v1 -c社区主机名IF-MIB :: ifAdminStatus.interface i 1

接口DOWN:
snmpset -v1 -c community hostname IF-MIB :: ifAdminStatus.interface i 2

(其中'interface'是表示接口的数字,该值在同一MIB中可用 - 请参阅1.3.6.1.2.1.2.2.1.2以查找接口值和描述.)

(同样可能会有一个可以利用的snmpset的C#实现......并且您必须事先在设备上配置SNMP社区.)

选项3:
可以使用SNMP 通过TFTP服务器触发上传或下载配置.
这有时按以下顺序使用:
1.下载运行配置
2.更改配置
3.上传配置
4.将上传的配置复制到正在运行的配置(覆盖设备上的活动状态)