Ip-Adresse 'herausfiltern'

Hi,

ich habe ein kleines Problem.
Ich habe hier eine syslog.txt Datei, aus der ich gern die IP-Adresse herausfiltern möchte, um sie dann in eine Umleitungs-HTML-Seite aus zugeben und diese dann auf den Webserver zu senden.

Hintergrund:
Flatrate, Webserver bei einen ISP und einen Webserver bei mir.
Auf meiner Web-Unterseite bei den ISP soll dann die Umleitungsseite liegen.

Wäre Super wenn dieses kleine Tool unter den Betriebsystemen Win95 bis WinXP laufen würde.

Kann mir evtl. ein Freak so ein kleines Tool schreiben (Batch-Programme sind auch willkommen) oder Links (mit guter Doku. für Anfänger) nennen.

Ralf

dyndns?
Hi.
Wenn ich dich richtig verstehe, willst du deinen Webserver ueber eine Domain erreichbar machen, hast aber keine feste IP? Dann melde dich doch bei dyndns.org (oder anderen, da gibt es viele aehnliche) an. Wenn du online gehst und sich deine IP aendert, wird deine neue IP dann zu dyndns uebertragen und dort eingetragen. Somit bist du immer unter deiner dyndns.org-Adresse (und im Fall einer Umleitung von deiner Haupseite auch von deiner normalen Adresse aus) erreichbar.
CU,
Sebastian.

Hi.
Wenn ich dich richtig verstehe, willst du deinen Webserver
ueber eine Domain erreichbar machen, hast aber keine feste IP?
Dann melde dich doch bei dyndns.org (oder anderen, da gibt es
viele aehnliche) an. Wenn du online gehst und sich deine IP
aendert, wird deine neue IP dann zu dyndns uebertragen und
dort eingetragen. Somit bist du immer unter deiner
dyndns.org-Adresse (und im Fall einer Umleitung von deiner
Haupseite auch von deiner normalen Adresse aus) erreichbar.

Deine Idee würde nur funktionieren, wenn ich keinen externen ISDN-Router hätte.
Die neue IP kommt von diesen per SYSLOG.
Die IP muss dann ausgefiltert werden. (TXT-Datei)

CU,
Ralf

Achso.
Am besten wäre, wenn du mal eine Beispiel-syslog-Datei angeben kannst, damit man sieht, wie die aufgebaut ist. Dann kann ich mal schauen, ob ich dir weiterhelfen kann.
CU,
Sebastian.

Hier ein winziger Auszug:
( ich hoffe die Formatierung kommt bei dir an.
Die Zeile Beginnt immer mit dem Datum.)

2002.08.01-1:18:55 bingo.local.city, CONFIG: system Hacker_unerwuenscht started at Thu Jan 1 0:00:03 1970
2002.08.01-1:19:09 bingo.local.city, INET: dialup if 10001 prot 6 192.168.1.4:1562->64.96.242.76:80
2002.08.01-1:19:10 bingo.local.city, PPP: A: local IP address is 193.101.111.10, remote is 145.253.1.221
2002.08.01-1:19:14 bingo.local.city, INET: refuse from if 1000 prot 6 192.168.1.4:1571->63.209.29.151:80 (RI 60 FI 46)

Heraus filtern möchte ich immer was hinter:
"local IP address is " steht.
Also hier wäre es die: 193.101.111.10 die sich natürlich bei dem nächsten Login wieder ändert.

Ralf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi.
Ich habe eine Batchdatei geschrieben, die allerdings nur unter TakeCommand, 4Dos und 4NT läuft. Das sind alternative Kommandozeileninterpreter, die es als Shareware bei JPSoft gibt ( http://jpsoft.com/ ). Die Batchdatei nimmt als Parameter einen Dateinamen entgegen. Dies ist die Datei, in der gesucht werden soll. Wird der Parameter weggelassen, wird die Datei syslog.txt aus dem aktuellen Verzeichnis verwendet. Es wird das erste Vorkommen von „local IP address is“ gesucht und die dahinterstehende IP ausgegeben. Um die IP in eine Datei zu schreiben kann man per Dateiumleitung die Ausgabe umleiten.
Hier die Datei ip.btm (darf auch ip.bat heissen, darf aber nicht mit der command.com oder cmd.exe von Windows ausgeführt werden):

@echo off
rem \* Diese Batch liest aus der übergegebenen Datei (wenn keine übergeben wird, 
rem \* wird die Datei syslog.txt aus dem aktuellen Verzeichnis verwendet) den 
rem \* String "local IP address is" und gibt die dahinterstehende IP aus.
rem \* Wird die IP in einer Datei benötigt kann dies per Umleitung 
rem \* "ip.btm \> datei" geschehen. Die Batch muss unter TakeCommand, 4NT
rem \* oder 4DOS ausgeführt werden. Getestet wurde nur unter TakeCommand.
rem \* (c) 2002 by Sebastian Schmidt, keine Garantie auf korrekten Programmablauf

setlocal
set datei=%@IF[exist "%1","%1",syslog.txt]
set ip="not found"
if not exist %datei goto ende
set zeile=0


> loop

set pos=%@index["%@line[%datei,%zeile]",local IP address is]
if %pos != -1 goto loopende
if %@lines[%datei] == %zeile goto ende
set zeile=%@inc[%zeile]
goto loop


> loopende

set ip=%@word[0,%@instr[%@eval[%pos+20],15,"%@line[%datei,%zeile]"]]


> ende

echo %ip
endlocal

CU,
Sebastian.

Hi Sebastian.

vielen Dank für deinen Vorschlag, aber ich wollte keine fremde Programme auf das System bringen.
Meine Batchprogrammierzeit liegt doch schon einige Jahre zurück.
Es müsste doch mit:
find und for irgendwie zu machen sein.
Kannst du, oder andere mir wieder auf die „Sprünge“ helfen.

CU,
Ralf.

Wie das dann geht, weiss ich nicht.
CU,

Sebastian.

Trotzdem, vielen Dank für Deine Mühe.

CU,
Ralf