#!perl ################################################################################ ### Einstellungen my $timeout = 0.01; my $praefix = '192.168.1.'; my @adressen = (2..254); my $format = ' | %-20s | %-15s | %6s |'."\n"; ################################################################################ ### Module einbinden use Net::Ping; use Socket; use Benchmark; ################################################################################ ### einen "Pinger" initialisieren und konfigurieren my $np = new Net::Ping('icmp',$timeout); $np->hires(1); ################################################################################ ### und schon geht's los... print "Suche... +----------------------+-----------------+--------+ | NAME | IP | ZEIT | +----------------------+-----------------+--------+\n"; my $startzeit = new Benchmark; foreach my $ip (map { $praefix.$_ } @adressen) { my ($erg,$dauer) = $np->ping($ip); next unless $erg; my $name = gethostbyaddr(inet_aton($ip),AF_INET) || '[unbekannt]'; $dauer *= 1000; $dauer = ($dauer > 1) ? '~ '.int($dauer+1).'ms' : '< 1ms'; printf $format,$name,$ip,$dauer; } my $endzeit = new Benchmark; print " +----------------------+-----------------+--------+ fertig!\n"; #print timestr(timediff($endzeit,$startzeit));