Schrift
[thread]11335[/thread]

Pingen mit 255 Threads? Ist das möglich?

Leser: 3


<< >> 8 Einträge, 1 Seite
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; 
     } 
   }
moritz
 2008-02-21 14:57
#106161 #106161
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Kleiner Tipp: Probier es nicht mit Bedrohung (threats), sondern mit Fäden (threads).

Und wenn du es richtig schreibst, findest du auch Dokumentation zum Thema ;-)
GwenDragon
 2008-02-21 15:19
#106163 #106163
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Threading ist eine gute Möglichkeit, die Prozesse zum Pingen zu verteilen.

Wir helfen gern, solange du keine Threat-Software schreibst. ;)

Leselinks:
http://www.heise.de/ix/artikel/1998/10/154/

Ansonst schau mal in deine perldoc, da sind auch so einige ;)
renee
 2008-02-21 15:23
#106167 #106167
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Statt CPAN:threads besser CPAN:forks oder perldoc -f fork anschauen...

Threads sind in Perl nicht so der Bringer (auch wenn ich sie selbst in absoluten Ausnahmefällen verwende).
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
moritz
 2008-02-21 15:24
#106170 #106170
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Ach ja, bevor du das Rad neu erfindest, schau mal ins CPAN

Da gibts z.B: CPAN:Net::FPing und CPAN:POE::Component::Client::Ping.
murphy
 2008-02-21 16:11
#106180 #106180
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Eigentlich braucht man dafür auch gar kein Skript sondern kann einfach die Broadcastadresse des lokalen Netzwerkes pingen, woraufhin der Ping automatisch an alle erreichbaren Rechner verteilt wird.

Gelegentlich sind Paketfilter so konfiguriert, dass Broadcastpakete verworfen werden, aber andererseits sind auch manche Paketfilter so konfiguriert, dass Pings generell verworfen werden...
When C++ is your hammer, every problem looks like your thumb.
betterworld
 2008-02-21 18:23
#106190 #106190
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich korrigiere mal das bedrohliche Subject ;)
ptk
 2008-02-21 21:19
#106199 #106199
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich habe mal ein Skript geschrieben, das ein mehrere Pings gleichzeitig macht und sie sinnvoll darstellt. Benutzt Event.pm und fork: http://dl.ambiweb.de/mirrors/ftp.cpan.org/authors/id/S/SR/SREZIC/pingomatic-1.013
<< >> 8 Einträge, 1 Seite



View all threads created 2008-02-21 14:49.