Hi Bernhard (ich bin's schon wieder),
kann es sein, daß evtl. eine Zeile zwar den ersten Test
betsteht (--> m/IP address is/), aber beim 2. Mal, wo die
IP-Adr. gesucht wird, durchfällt? In der Ausgabe (--> print
"\n$1";) würden dann Leerzeilen erscheinen, weil der
'Nicht-Match' dazu führt, daß $1 geleert wird...
Leider nein. Ich gebe zum Test die gefunden IP's in eine
KONTROLL_DATEI aus. Das funktioniert.
Ich habe die Logdatei von Hand editiert:
nur 3 Zeilen mit denselben Inhalt. syslog.txt :
2002.14.11-18:32:54 bingo.network.local, PPP: A: local IP address is 212.144.111.231, remote is 145.253.1.45<-ENDE
2002.14.11-18:32:54 bingo.network.local, PPP: A: local IP address is 212.144.111.231, remote is 145.253.1.45<-ENDE
2002.14.11-18:32:54 bingo.network.local, PPP: A: local IP address is 212.144.111.231, remote is 145.253.1.45<-ENDE
(Zeilenumbruch... Hallo wer-weiss-was,
kann man das Fenster nicht größer machen?)
****************************************************
#!/usr/bin/perl -w
# Anfängerprogramm ! noch nicht fertig
# Für alle Bintecrouter mit
# Flatrate (Aktivierung der Syslog)
# Ziel des Programms:
# Feststellen der IP die der ISP zur
# Verfügung stellt, um Sie dann in einer neuen HTML-Seite zu
# hinterlegen.
# Somit kann man eine Verbindung zu seinen System aufbauen zu
# können. (Terminal, Web, u.s.w. )
# Aktivierung der Onlineverbindung
# (könnte auch eine andere IP sein
system("ping -n 1 -w 1 200.200.200.200");
# (soll später durch eigenes PING-Programm
# ersetzt werden )
# So sieht das DOS-Fenster aus:
# Starte Syslogdaemon Logfile nach D:\syslog.txt
# Syslogd 1.1
# Copyright (c) 2000, Herbert Hanewinkel, Neuried
# [E-Mail-Adresse entfernt]
# www.heha.cjb.net
# syslogd: listening on port 514
----------------------------------------------------------
# Die oberen Zeilen könnte man sich auch, durch den
# Einsatz von SNMP sparen wenn.
# Programmidee: (soweit bin ich noch nicht)
# SNMP-Abfrage: bist du Online ?
# ifOperStatus=1.3.6.1.2.1.2.2.1.8
# SNMP-Abfrage: welche IP hast du?
# internetadresse=1.3.6.1.4.1.272.4.3.10.1.10.10001.0
----------------------------------------------------------
# öffnen der Datei syslog.txt
open(KONTROLLE_DATEI, '>d:\neue_ip.txt');
open(FIRE, "d:/syslog.txt");
while(<FIRE>)
{
if (m/IP address is/) # abgewiesen?
{
$_ =~/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/;
print "\n$1";
print KONTROLLE_DATEI "$1\n";
}
}
close(FIRE);
close(KONTROLLE_DATEI);
print "\n*************\n";
print "Aktuelle IP-Adresse:\t$1";
# Nun erfolgt die Einbindung der IP-Adresse
# in eine HTML-Seite.
# Versende autom. (per FTP) die HTML-Seite, wenn sich die IP-
# Adresse geändert hat.
****************************************************
Gruß
ralf