• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[原]ping一段网络的perl脚本

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ping是一个很常用的网络检测脚本,比较唯一不足的是一次只能检测一个IP地址。我用perl包装了一下,使得它可以ping一段网络地址:

#! /usr/bin/perl -w
use strict;

die print "usage : range_ping.pl 192.168.1.1 192.168.1.100 \n"
."Powered By killkill \n\n"
    if scalar @ARGV != 2 ;

my ( $start_ip , $end_ip ) = @ARGV;
my $start = &ip2int($start_ip);
my $end   = &ip2int($end_ip  );

my $i = $start;
for ( $start .. $end )
{
    my $ip = &int2ip($_);
    my @val = `ping -c1 -W1 $ip;echo \$?`;
    if ($val[$#val] == 0 )
    {
        print " + $ip \n";
    }
    else
    {
        print " | $ip \n";
    }
}

sub ip2int
{
  $_[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
  return (16777216*$1)+(65536*$2)+(256*$3)+$4;
}
sub int2ip
{
  return ($_[0]/16777216)%256 . '.' .
         ($_[0]/65536)%256    . '.' .
         ($_[0]/256)%256      . '.' .
          $_[0]%256;
}

功能很简单,但是很有用。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
perl shell脚本互调发布时间:2022-07-22
下一篇:
Perl中命令行参数以及打开管道文件发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap