Hallo,
mein System:
PII 450Mhz/256MB
(CPU-Last immer um die 3%)
Meine Fragen:
Wenn man schnelle Schleifen benötigt, ist dann „while“ das
richtige?
Kann man ein weiteres Perlscript aufrufen ohne auf eine Antwort zu warten? (z.B. Ping)
******************************************************
#!/usr/local/bin/perl -w
Mein Dank für bisherige Unterstützung geht an:
Alexander Fleischer aus www.wer-weiss-was
Bernhard Brosda aus www.wer-weiss-was
Prog: Auswertung des Syslog von Bintec-Router.
Port 514 kann angepasst werden.
system(„mode 110,55“);
use warnings;
use strict;
use IO::Socket;
use Net:ing;
my $hacker = 0;
my $IPADRESSE;
my $message;
########################################################
my $ping = Net:ing->new(„icmp“);
$ping->ping(„200.200.200.200“,1);
$ping->close();
########################################################
my $sock = IO::Socket::INET->new(LocalPort => ‚514‘, Proto => ‚udp‘) or die „socket: $@“;
while ($sock->recv($message, ‚1024‘))
{
if ($message =~ /address is/)
{
$message =~/(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}),/;
$IPADRESSE = $1;
print „\nNeue IP-Adresse: $IPADRESSE“;
}
else
{
if ($message =~ /connection closed/)
{
print „\n\nLeerlaufzeit überschritten. Verbindung wird getrennt\n\n“;
sleep(1);
$ping = Net:ing->new(„icmp“);
$ping->ping(„200.200.200.200“,1);
$ping->close();
}
else
{
if ($message =~ /refuse from/)
{
$hacker = ++$hacker;
print „\nHackversuche: $hacker“;
print „\n$gethostbyaddr“;
}
}
if ($message =~ /link up/)
{
$ping = Net:ing->new(„icmp“);
$ping->ping(„200.200.200.200“,1);
$ping->close();
}
else
{
print „\n$message“;
}
}
}