#!/usr/bin/perl -wuse lib '../hwlib';use Net::Telnet;use Time::Local;use POSIX qw(strftime);use HWNET;use Net::Ping;my $p = Net::Ping->new();my $host='10.49.64.1';if(!$p->ping($host)){ print STDERR "Can NOT ping '$host' !"; goto r2;}my $hw = new HWNET;$hw->login($host, 'admin', 'pass1', 'pass2');$hw->super();# 取得交换机时间my @sw_clock = $hw->exec_cmd('disp clock');goto r1 if @sw_clock == 0;# $4年$5月$6日 $1时$2分$3秒;my $re_time = '(\d{2}):(\d{2}):(\d{2}) UTC [a-zA-Z]{3} (\d{4})/(\d{2})/(\d{2})';$sw_clock[0] =~ /$re_time/;my $time = timelocal($3,$2,$1,$6,$5-1,$4);#my $s =localtime($time);#print 'ok' if time < $time;# 取得最近12条logbuffer 记录my @log = $hw->exec_cmd('disp logb size 10');my %arp_hash=();#%Jan 29 11:42:01 2007my $re = '^%[a-zA-Z]{3} \d{2} \d{2}:\d{2}:\d{2} \d{4} .+? sourced by ([0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}) on';for(@log){ next if !($_ =~ /$re/i); $arp_hash{$1} = 1 if !exists($arp_hash{$1}); $arp_hash{$1} = $arp_hash{$1} + 1;}for(keys %arp_hash){ print STDERR "有毒的机器MAC地址为:$_", "\n" if($arp_hash{$_} > 1);}print STDERR '没有发现中毒的MAC机器地址!', "\n" if keys %arp_hash == 0;r1:$hw->logout;r2:$p->close();
详细解决方案
用Perl访问华为交换机配备示例
热度:9407 发布时间:2013-02-26 00:00:00.0
相关解决方案
- jdk,active perl,sdk,VC++这四者到底是什么关系?解决方法
- 请教如何理解JAVA、C++ Perl、PHP、Ruby、Python
- perl 汉化解决思路
- perl 开发web应用程序解决思路
- 在IIS里运行CGI文件出现Can't open perl script解决办法
- 计算时间(perl)解决思路
- perl cgi 报错 好手来解答
- 在IIS里运作CGI文件出现Can't open perl script
- perl 双引号有关问题
- perl 开发web应用程序,该如何处理
- perl/CGI中怎么打印javascritp脚本呀
- Perl CGI程序汉字编解码有关问题
- perl cgi开发动态网站有关问题
- Bugzilla/perl/CGI打开页面慢的有关问题,请解决
- perl 解析html, 自各儿写的几个比较常用方法
- perl utf8 encoding decoding HTML:Entities Perl中字符串编码的处置
- perl 开发web应用程序解决思路
- 计算时间(perl)解决思路
- perl cgi 报错 好手来解答
- 计算时间(perl)解决办法
- perl: 字符串替换的有关问题,
- 请哪位高手可以描述,介绍下mod perl
- perl 比一比哪位高手更懒,调查英文单词频率
- 应用SOAP:Lite开发Web services(Perl SOAP)
- 各种工具(grep,egrep,sed,awk,perl,vim,javascript)正则表达式元字符(聚合)的参考和比较-转
- /usr/bin/perl: bad interpreter: No such file or directory
- perl 二维数组的用法实例
- Perl 获取上月下月和最大天数
- Perl 脚本中使用ls 获取目录名或文件名注意事项
- asterisk agi For Perl