是否可以通过我的 iOS 手机访问我的思科路由器详细信息,例如名称、型号、IP 地址、连接状态等?
我什至准备在 iOS 中编写小型移动应用程序来获取所有路由器详细信息。 由于我刚刚开始学习 iOS,不知道是否有任何 library 已经存在用于上述任务。 如果我的路由器无法工作或挂起..我什至想尝试使用我的手机重新启动路由器。
如果存在示例代码,它将非常有用。
就像思科已经有 Android 和 iOS 应用程序来实现上述相同功能,但不想使用这个应用程序,只想编写自己的应用程序,但功能有限。 (http://www.addictivetips.com/mobile/cisco-connect-express-manage-router-settings-remotely-android-ios/)
访问网络设备最好使用 SNMP。思科通过 SNMP 拥有极其丰富的管理/监控功能,并且其所有 MIB 均可公开访问此处。
几乎所有思科设备都支持
SNMPv2-SMI
MIB(1.3.6.1.2.1 OID),因此查询 sysName、sysLocation、sysContact、sysDescription、sysUpTime 等内容应该非常容易。该 MIB 甚至支持列出所有接口和 IP 地址的表格,并且有很多您可能感兴趣的其他内容。
如果您在设备上具有 SNMP 写入访问权限,那么您甚至可以进行配置更改并执行管理功能,例如重新启动或打开/关闭接口。
ObjectiveC 有一些 SNMP 库,我认为 Net-SNMP 是最受欢迎的(它不是 .net,尽管标题表明了这一点)。
如果您是 SNMP 新手,那么我建议先从简单的开始,先查询简单的对象,如
1.3.6.1.2.1.1.5
(sysName) 和 1.3.6.1.2.1.1.6
(sysLocation),然后再尝试跳转到 1.3.6.1.2.1.2.2
(ifTable) 等表
请记住,您不必坚持使用标准 MIB,您可以下载特定于您的设备的所有自定义 MIB,这将为您带来难以置信的灵活性。
您可以使用屏幕抓取技术通过 telnet 或 ssh 访问 Cisco 设备并解析“显示版本”输出。这将为您提供一些您需要的信息。对于其他的,如 IP 地址,您可以根据需要使用“show ip interface Brief”、“show cdp Neighbors”等。
牢记安全性:确保 telnet/ssh 凭据在应用程序的设置中得到充分保护,并尝试将命令限制为不需要 Cisco 设备上的特权访问的命令。
请注意,Cisco 设备有一小部分可用 VTY,并且来自应用程序的每次 telnet/ssh 访问都将使用一个 VTY。因此,如果您有 30 个人想要同时从他们的应用程序访问设备,则其中一些实例将无法访问设备。
如果这是一个问题,SNMP 是一个更好且更具可扩展性的选项,如之前的答案所示。确保您 (a) 在设备上配置了只读社区字符串,并且 (b) 仅使用应用程序中的 ro 社区字符串。