Thread Pingen mit 255 Threads? Ist das möglich? (7 answers)
Opened by Gast at 2008-02-21 14:49

Gast Gast
 2008-02-21 14:49
#106160 #106160
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; 
     } 
   }

View full thread Pingen mit 255 Threads? Ist das möglich?