ÇëͬÈÊÃǰï½â´ðһЩÎÊÌ⣡СµÜÏÈл¹ý
СµÜ¸Õѧperl²»¾Ã£¬Çë°ïæ¿´¿´Õâ¸ö³ÌÐò°ïÎÒ½â´ðһЩÎÊÌ⣡#!/usr/bin/perl -w
use strict;
my $ip;
my $i;
my $j=0;
my $n=0;
if(-e "ip_dns.txt" and -w "ip-dns.txt"){
rename("ip_dns.txt","old.txt") or die "error:$!";
}
open(FILE,">ip_dns.txt") or die"open file error:$!";
open(NOUSE,">nouse.txt") or die "open file error:$!";
foreach $i (1..254){
$ip="192"."\."."168"."\."."0"."\."."$i";
my @cmd=`ping -a -n 1 $ip`;
if($cmd[3]=~/^Reply/){
my(undef,$hostname,undef)=split(/ /,$cmd[1],3);
if($hostname!~/(\d+\.\d+\.\d+\.\d+)/){
print "ip"." "."$hostname\n";
print FILE "$ip"." "."$hostname\n";
$n++;
}
}else{
print "$ip"." "."no use!"."\n";
print NOUSE "$ip"." "."δʹÓÃ"."\n";
$j++;
}
}
print FILE "×ܹ²ËÑË÷µ½ÁË$n¸öIPÓëDNS¶ÔÓ¦ÁÐ!";
close FILE;
print NOUSE "×ܹ²ÓÐ$j¸öIPµØÖ·Î´Ê¹ÓÃ!";
close NOUSE;
ÆäÖÐ
1¡£ÎÒ¶ÔÈçºÎÔÙperlÖÐÈçºÎʹÓÃÃüÁî²»Çå³þ£¬@cmdÊÇÒ»¸öÊý×éΪʲôÄܹ»Ö´ÐÐpingÄØ£¿
2¡£»¹ÓоÍÊÇ·µ»ØÖµµÄÎÊÌ⣿$cmd[3]ÊÇÊý×é@cmdµÄÔªËØÎªÊ²Ã´ÊÇpingµÄ·µ»ØÖµÄØ£¿
3¡£Õâ¾ä»°²»¶®my(undef,$hostname,undef)=split(/ /,$cmd[1],3);
4¡£¾ÍÊǶÔÓÚһЩ³öÏÖÔÚ³ÌÐòÀïµÄÈç$_ºÍ@_µÈµÈ£¬ËûÃÇÓÐʱÊÇÕâ¸öÒâ˼ÓÐʱÓÖÊÇÄǸöÒâ˼£¬ÇëÎÊÔÚʲôµØ·½Äܹ»²éµ½ËûÃǵÄÓ÷¨
5¡£¶ÔÓÚuseÖÐʹÓõÄÄ£¿é£¬Ä£¿éÖÐËùÓеĺ¯ÊýÔÚlinuxÏÂʹÓÃʲôÃüÁî¿ÉÒԲ鵽
лл£¡£¡£¡£¡£¡ ȱ·¦ Perl ×î»ù±¾µÄ¸ÅÄî, ½¨Òé»ØÈ¥¿´Êé
Ò³:
[1]