利用Perl中的Cisco模块登录公司交换机
来源:互联网 发布:squid默认端口 编辑:程序博客网 时间:2024/06/06 14:32
发现CPAN中有个CISCO模块,恰好能满足登录公司交换机,进行各类指令操作,如下:
#!/usr/bin/perl -w
use strict;
use Net::Telnet;
use Net::Telnet::Cisco;
use Net::Ping;
my $welcomeMsg = "*******************************************
交换机设备登录工具
发布时间:2012-10-14 12:00
******************************************************\n";
print $welcomeMsg;
#注意,$prompt是登陆后的命令提示符,如果匹配不上,脚本将会timeout
my $username = 'who';
my $password = 'who';
my $prompt = '/.+[>#]$/';
print "请输入检测设备IP地址,多个IP请按分号或逗号隔开:\n";
my $hostlist = <STDIN>;
chomp($hostlist);
my @hostArray = split /[;,]/, $hostlist;
for my $host (@hostArray)
{
$host =~s#\s+##g;
if ($host !~ m/(\d+\.){3}\d+/)
{
print "IP地址${host}输入不正确,登录下一台设备或退出工具!\n";
next;
}
#先看是否能ping通设备,主机连通性测试,5次连接,连接不上则进入下一台设备登录或退出程序
my $pingcnt = 1;
my $p = Net::Ping->new('icmp');
while ($pingcnt <= 5)
{
if ($p->ping($host))
{
print "$host is reachable.\n";
last;
}
else
{
print "$host is unreachable\n";
$pingcnt++;
}
}
if ($pingcnt > 5)
{
print "$host ping 不通,进入下一台设备登录或退出工具\n";
next;
}
my $session = Net::Telnet::Cisco->new(
Timeout => 15,
Prompt => $prompt
);
$session->open($host);
print "$host连接成功\n" if $session->login($username, $password);
sleep(5); #加入5s延迟的作用是为了使设备telnet服务能及时响应
$session->enable('enable');
}
利用这个模块,登录交换机之后就可以配置,诊断收集相关信息了。
- 利用Perl中的Cisco模块登录公司交换机
- Perl Telnet 登录 Cisco交换机,并执行命令。
- Cisco Router中的模块
- cisco交换机
- cisco交换机进不了系统,利用Xmodem升级固件
- cisco交换机进系统利用TFTP升级固件
- 用Perl语言登录Cisco PIX防火墙修改配置
- cisco(思科)交换机全局配置篇——交换机登录等【三】
- Perl访问华为系列交换机路由器配置参数模块
- Cisco交换机命令清单
- CISCO 交换机 DHCP 管理
- CISCO交换机概览
- CISCO 交换机的配置
- Cisco交换机密码恢复
- Cisco交换机设置点滴
- CISCO交换机常用命令S1
- CISCO交换机常用命令
- Cisco交换机的密码恢复
- 杭电ACM-The area
- Ubuntu14.04下搭建Boa web服务器
- 创建简单多边形窗口--并旋转起来
- hdu5105Math Problem(分类讨论)
- 求三角形
- 利用Perl中的Cisco模块登录公司交换机
- <二>Oracle多表主键外键+inner join/left join/right join
- Eclipse增加Maven Archetype Catalogs
- 安卓自学笔记:13:选项菜单和子菜单
- Apache Twill—YARN上应用程序开发包
- 用Python开始机器学习(2:决策树分类算法)
- Http访问网络之GET和POST
- yum install rz sz
- java打印对象和toString方法