免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2108 | 回复: 6
打印 上一主题 下一主题

使用perl这个模块Net::Telnet::Cisco怎么能获取到设备的名称 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-25 21:41 |只看该作者 |倒序浏览
使用perl这个模块Net::Telnet::Cisco怎么能获取到设备的名称
如果想获取到设备名称程序应该怎么写?请大家指点,谢谢!!

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
2 [报告]
发表于 2012-10-26 10:08 |只看该作者
可以从命令行提示符截取
可以show conf | in hostname得到
你可以尝试用这个模块的prompt或者last_prompt来截取

论坛徽章:
0
3 [报告]
发表于 2012-10-26 14:01 |只看该作者
能给个取的例子吗?

论坛徽章:
0
4 [报告]
发表于 2012-10-26 15:01 |只看该作者
本帖最后由 kofpet 于 2012-10-26 15:01 编辑

use Net::Telnet::Cisco;

  my $session = Net::Telnet::Cisco->new(Host => '123.123.123.123');
  $session->login('login', 'password');

  # Execute a command
  my @output = $session->cmd('show version');
  print @output;

  # Enable mode
  if ($session->enable("enable_password") ) {
      @output = $session->cmd('show privilege');
      print "My privileges: @output\n";
  } else {
      warn "Can't enable: " . $session->errmsg;
  }

  $session->close;


这是cpan上的面的例,挺简单的

论坛徽章:
0
5 [报告]
发表于 2012-10-26 20:15 |只看该作者
关键是怎么取设备名称,比如Route# show running   
我想实现的是吧Route取出来

论坛徽章:
0
6 [报告]
发表于 2012-10-26 21:28 |只看该作者
那你要查一下交换机的命令,show run | in hostname 把信息抓取出来,再使用正则把想要的数据从数组里面一行一行的读入匹配。

论坛徽章:
0
7 [报告]
发表于 2012-10-27 13:24 |只看该作者
用snmp取回来试过吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP