Thread Pingen mit 255 Threads? Ist das möglich?
(7 answers)
Opened by Gast at 2008-02-21 14:49
Hallo, ich habe ein kleines Script geschrieben was alle Rechner anzeigt die am Netzwerk angeschlossen sind. Er Pingt einfach das komplette Netz von .1-255 Braucht 255 Sekunden bis es durchgelaufen ist, evtl. nen bsichen mehr.
Aber wie kann ich das so umbauen das er das ganze mit 255 Threats macht? Vieleicht auch nur 50 Threats.... Hat jemand ne idee? Hie rmein COde: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #!/usr/bin/perl -w use Net::Ping; use strict; my @netzwerk; my %opt; my $netzwerk; my $pingpc; my $ret = 0; my $zaehler = 0; my $timeout = 1; # Parameter bearbeiten for ($zaehler = 0; $zaehler <= $#ARGV; $zaehler++) { push @netzwerk, $ARGV[$zaehler]; } foreach $netzwerk (@netzwerk) { print "Überprüfe das Netzwerk : $netzwerk.0-255 \n"; for ($zaehler = 1; $zaehler < 255; $zaehler++) { $pingpc = $netzwerk . "." . $zaehler; $ret = &pinger($pingpc); open(PCS, ">>pc.txt"); print PCS "$pingpc --> ONLINE \n" if ($ret == 1); print "$pingpc --> ONLINE \n" if ($ret == 1); close(PCS); } } exit; sub pinger # (Host) { # Parameter: Host my $host = shift; # zu pingender Host my $wert = 0; # Ergebnis: 0 nicht erreicht, 1 erreicht, 2 Fehler # Neues Net-Ping Objekt my $p = Net::Ping->new('icmp'); # Exceptions auffangen eval { $wert = 1 if ($p->ping($host , $timeout)); if ($@) { print "Ping fehlgeschlagen\n $@\n"; $wert = 2; } $p->close; undef ($p); sleep(1); # return $wert; } } |