Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Aufbau ein er LOG Datei mit Delphi parsen (https://www.delphipraxis.net/140938-aufbau-ein-er-log-datei-mit-delphi-parsen.html)

ASoraru 29. Sep 2009 10:51


Aufbau ein er LOG Datei mit Delphi parsen
 
Hallo zusammen,

ich habe eine LOG Datei nun erfolgreich geparst ... nun versuche ich den Aufbau der LOG zu verstehen ... vor allem der Teil Browser/Betriebssystem/Oberfläche ist für mich noch verwirrend ... wie kann ich hier zuordnen ob es windows 9x, windows nt, windows xp, windows vista etc ist ? Gibt es da nähere infos zu im web ? ich habe nichts sinnvolles gefunden außer einem wikipedia eintrag ...

Grüße ins FOrum,

Andreas

Luckie 29. Sep 2009 11:00

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
LOG ist kein standardisiertes Dateiformat wie Ini oder so. Wie sieht denn der Inhalt der Datei aus?

ASoraru 29. Sep 2009 11:06

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
LOG ist kein standardisiertes Dateiformat wie Ini oder so. Wie sieht denn der Inhalt der Datei aus?

Ich dachte ein LOG ist laut wikipedia schon ein standardisiertes format ... http://de.wikipedia.org/wiki/Logdatei

p5B20D740.dip.t-dialin.net - - [09/Sep/2009:02:34:50 +0200] "GET / HTTP/1.1" 200 18221 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)" ist ein auszug ... mich interessiert vor allem der teil mit der auswertung der betriebssysteme / browser etc.

Grüße,

Andreas

Mavarik 29. Sep 2009 11:17

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Hi!

Ich habe es so gemacht... Möglichst viel Programme i.d.R. php usw.. angesehen...

Jeder hat ein bischen mehr Infos...

Leider habe ich noch nie eine komplette Aufstellung gefunden...

Frank

Luckie 29. Sep 2009 11:33

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Also ich habe hier im Windowsverzeichnis auch ein paar Dateien mit der Endung LOG und deren Inhalt ist irgendwie nicht gleich aufgebaut. Ob allerdings LOG Dateien von Servern standardisiert sind, weiß ich nicht.

ASoraru 29. Sep 2009 11:37

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Also ich habe hier im Windowsverzeichnis auch ein paar Dateien mit der Endung LOG und deren Inhalt ist irgendwie nicht gleich aufgebaut. Ob allerdings LOG Dateien von Servern standardisiert sind, weiß ich nicht.

die von webservern sind es ... siehe den link zur wikipedia :-)

Luckie 29. Sep 2009 11:42

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Ja da steht doch der genaue Aufbau einer Zeile in der Datei. Wo ist denn jetzt das Problem? Und wenn du sie schon geparst hast, dann hast du eine Zeike doch schon zerlegt. Deswegen verstehe ich jetzt nicht, was dein Problem ist.

ASoraru 29. Sep 2009 11:46

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Ja da steht doch der genaue Aufbau einer Zeile in der Datei. Wo ist denn jetzt das Problem? Und wenn du sie schon geparst hast, dann hast du eine Zeike doch schon zerlegt. Deswegen verstehe ich jetzt nicht, was dein Problem ist.

ich finde zum beispiel den unterschied zwischen den windows versionen überhaupt nicht ... also win 9x, win xp, win nt, win vista ... es steht in fast jeder zeile windows nt ... und da ich zum beispiel vista habe und xp und dort nicht auftauche muss es also einen schlüssel dafür geben

Luckie 29. Sep 2009 11:50

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Du meinst das: Windows NT 5.1. Und du willst jetzt wissen, was das für ein Windows ist? Ob XP oder Vista oder was auch immer?

ASoraru 29. Sep 2009 11:58

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Du meinst das: Windows NT 5.1. Und du willst jetzt wissen, was das für ein Windows ist? Ob XP oder Vista oder was auch immer?

ich möchte das aufgeschlüsselt haben

"Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"

und da steht immer windows nt oder zumindest bei 95% .. rest ist mac ... ich würde nun sagen es ist windows nt ... oder liege ich falsch ?

himitsu 29. Sep 2009 12:02

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Eine Log-Datei selber ist nicht standardisiert ... die Log-Dateien von den meisten Servern verwenden aber ein einheitliches Format.

Und was den String der Client-Namen angeht, dann gibt es da erst recht keine Standards ... das ist einfach nur ein String, welchen die meißten Browser verwenden.
* sie müssen aber keinen Namen mitsenden
* dieser Name läßt sich vom User verändern (ich kann meinen Firefox leicht den Standardstring irgendeines Internet Explorers versenden lassen und dabei aus meinem XP ein Win98 oder Vista machen)
* ...

Luckie 29. Sep 2009 12:03

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von ASoraru
und da steht immer windows nt oder zumindest bei 95% .. rest ist mac ... ich würde nun sagen es ist windows nt ... oder liege ich falsch ?

Und auch immer die gleicher Versionsnummer? Die Windows 95 Reihe war mit Windows Millennium zu Ende. Alles was dann kam, 2000, XP, Vista, Windows 7 und die Server sowieso, basiert auf Windows NT. Deswegen steht da Windows NT. Die Versionsnummer gibt dann an um welches Windows es sich handelt. 5.1 ist zum Beispiel Windows XP. Eine Liste findest du hier:http://de.wikipedia.org/wiki/Microso...ionsgeschichte

Oder habe ich dein Problem immer noch nicht verstanden?

Tyrael Y. 29. Sep 2009 12:13

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Hallo Andreas,
das "Windows NT" sagt dir das es eine NT-Technologie ist also Windows NT 4, Windows 2000, Vista, usw.

Die ganz genaue Version erhälst du aus dem rv, das steht für revision.

zb für rv:1.9.1.2
major.minor.build.revision = 1.9.1.2

Ich meine noch im Hinterkopf zu haben, daß es eine API Funktion gibt, womit die aus der Major und Minor Version heraus
einen String erhältst mit dem Bezeichner der passt.

Müsstest mal bei MSDN gucken.

Zitat:

Zitat von ASoraru
"Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"


EDIT:
P.S:
Mein Fehler. In dieser Datei ist die 1.9.1.2 die Version von Mozilla.
Die Windows Version ist nur aus der Zahl hinter dem NT ersichtlich.
4.x = NT 4, NT 4 Server, usw.
5.x = Windows 2000, XP, 2000 Server, usw.
6.x = Vista usw.

Die zweite Zahl sagt genau aus welche Version es ist.
Vorsicht! Allein die Zahl behandeln wäre falsch, da auch Windows 98 4.x existiert.

usw.

Mavarik 29. Sep 2009 12:32

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Also ich habe hier im Windowsverzeichnis auch ein paar Dateien mit der Endung LOG und deren Inhalt ist irgendwie nicht gleich aufgebaut. Ob allerdings LOG Dateien von Servern standardisiert sind, weiß ich nicht.

Die Felder im Log sind standardtisiert aber nicht die Reihenfolge...

Frank

ASoraru 29. Sep 2009 13:03

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von ASoraru
und da steht immer windows nt oder zumindest bei 95% .. rest ist mac ... ich würde nun sagen es ist windows nt ... oder liege ich falsch ?

Und auch immer die gleicher Versionsnummer? Die Windows 95 Reihe war mit Windows Millennium zu Ende. Alles was dann kam, 2000, XP, Vista, Windows 7 und die Server sowieso, basiert auf Windows NT. Deswegen steht da Windows NT. Die Versionsnummer gibt dann an um welches Windows es sich handelt. 5.1 ist zum Beispiel Windows XP. Eine Liste findest du hier:http://de.wikipedia.org/wiki/Microso...ionsgeschichte

Oder habe ich dein Problem immer noch nicht verstanden?

Wunderbar .... ich werde es mal versuchen in der form zu parsen ... :-) erst einmal vielen dank

holliesoft 29. Sep 2009 13:20

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von ASoraru

p5B20D740.dip.t-dialin.net - - [09/Sep/2009:02:34:50 +0200] "GET / HTTP/1.1" 200 18221 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)" ist ein auszug ... mich interessiert vor allem der teil mit der auswertung der betriebssysteme / browser etc.

Ach Du meinst ein Apache-Log! Das muss aber auch nicht unbedingt immer gleich sein.
Infos zum Aufbau des Logs solltest Du auf jeden Fall beim Apache-Projekt bekommen.

//Edit: Roter Kasten, wo bist Du schon wieder?

holliesoft 29. Sep 2009 13:25

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Tyrael Y.

Die Windows Version ist nur aus der Zahl hinter dem NT ersichtlich.
4.x = NT 4, NT 4 Server, usw.
5.x = Windows 2000, XP, 2000 Server, usw.
6.x = Vista usw.

Die zweite Zahl sagt genau aus welche Version es ist.
Vorsicht! Allein die Zahl behandeln wäre falsch, da auch Windows 98 4.x existiert.

usw.

Genauer:
5.0 = Windows 2000
5.1 = Windows XP
5.2 = Windows XP 64bit oder Windows Server 2003
6.0 = Vista (oder auch Windows Server 2008?)
6.1 = Windows 7

Windows 95, 98 und ME werden meiner Erfahrung nach auch so ins Log geschrieben.

Luckie 29. Sep 2009 14:00

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von ASoraru
Wunderbar .... ich werde es mal versuchen in der form zu parsen ... :-) erst einmal vielen dank

Mann, da hast du dich aber schwer verständlich ausgedrückt. :?

Mavarik 29. Sep 2009 14:32

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Mann, da hast du dich aber schwer verständlich ausgedrückt. :?

Fand ich gar nicht... Aber vielleicht liegt es daran, dass ich das Problem kenne.. :mrgreen:


Frank :coder:

ASoraru 29. Sep 2009 15:48

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Mavarik
Zitat:

Zitat von Luckie
Mann, da hast du dich aber schwer verständlich ausgedrückt. :?

Fand ich gar nicht... Aber vielleicht liegt es daran, dass ich das Problem kenne.. :mrgreen:


Frank :coder:

hihi ... tja ... formulierungen sind manchmal nicht wirklich meine stärke zudem es dann trotz beispiel des logs nicht so einfach ist das ganze auseinander zu dividieren ... :-)

Danke Euch allen und einen schönen Gruß,

Andreas

ASoraru 2. Okt 2009 12:56

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Hallo zusammen,

ich muss noch einmal nerven .... wie komme ich von dem eintrag p5B20D740.dip.t-dialin.net im log auf die IP ?

Grüße,

Andreas

Luckie 2. Okt 2009 13:09

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Das hast du doch schon mal gefragt: http://www.delphipraxis.net/internal...t.php?t=165661

Tyrael Y. 2. Okt 2009 13:14

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Das sollte mit der Methode LookupHostAddr der Klasse TIpSocket gehen.

edit:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ip: TIpSocket;
begin
  ip := TIpSocket.Create(self);
  try
     Edit2.Text := ip.LookupHostAddr(Edit1.Text);
  finally
    ip.free();
  end;
end;
edit2:
Ich habe mir eben den anderen Thread angeschaut, wieso machen es sich alle so schwer? :shock:
Ist diese von mir hier beschriebene Methode obsolet oder irgendwie nicht ok?
Ich finde sie liefert ganz gute Ergebnisse und ist wunderbar einfach.

ASoraru 2. Okt 2009 13:58

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Luckie
Das hast du doch schon mal gefragt: http://www.delphipraxis.net/internal...t.php?t=165661

STimmt wohl ... aber die lösung von Tyrael ist wunderbar und funktioniert einwandfrei ... ich hatt denalten thread zwar vergessen aber hier sieht man wozu es gut war :-)

ASoraru 2. Okt 2009 13:59

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Geht es eigentlich auch andersherum ? also von der IP auf den namen ?

Grüße,

Andreas

Tyrael Y. 5. Okt 2009 09:01

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Falls du es dir nicht schon selbst beantwortet hast, ja auch der umgekehrte Weg ist möglich

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var ip: TIpSocket;
begin
  ip := TIpSocket.Create(self);
  try
     Edit4.Text := ip.LookupHostName(Edit3.Text);
  finally
    ip.free();
  end;
end;

himitsu 5. Okt 2009 09:10

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Tyrael Y.
Falls du es dir nicht schon selbst beantwortet hast, ja auch der umgekehrte Weg ist möglich

Mal so aus Interesse: Was ist eigentlich, wenn mehrere "Namen" auf eine IP/Server zeigen?

Mavarik 5. Okt 2009 09:13

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von himitsu
Mal so aus Interesse: Was ist eigentlich, wenn mehrere "Namen" auf eine IP/Server zeigen?

Was soll dann sein?

Das ist sogar eher die Regel...!

Frank

Tyrael Y. 5. Okt 2009 09:16

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von himitsu
Mal so aus Interesse: Was ist eigentlich, wenn mehrere "Namen" auf eine IP/Server zeigen?

...du meinst im Fall, daß du eine IP hast und den Hostnamen haben willst?
...dann wird das erste Ergebnis von Namensserver geliefert, daß gefunden wurde.

Teste mal als Beispiel www.google.de
Hol dir damit die IP.
Dann hol dir von dieser ermittelten IP den Hostnamen.
Es wird in der Regel nicht www.google.de sein.

himitsu 5. Okt 2009 09:28

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Zitat:

Zitat von Tyrael Y.
...du meinst im Fall, daß du eine IP hast und den Hostnamen haben willst?

jupp ^^
und OK, so in etwa hätte ich mir das wohl auch gedacht, aber es ist ja nicht immer so, wie man es als erstes denkt :nerd:

Nur bei Google wär ich mir da überhaupt nicht sicher, wo die doch mehrere Server haben und man doch irgendwie zu einem geleitet wird, welcher grad Zeit hat ... oder irgendwie so.

Tyrael Y. 5. Okt 2009 09:46

Re: Aufbau ein er LOG Datei mit Delphi parsen
 
Genau so ist es ja auch, für dieselbe Anfrage der IP Adresse können theoretisch verschiedene Hostnamen herauskommen.
In der Regel wird es für deinen Rechner der sich an einem bestimmten Standort befindet auch immer wieder derselbe Hostname herauskommen, da der dir zuerst eine Antwort liefernde Namensserver immer derselbe sein wird.

Mit demselben Code und derselben Anfrage wirst du aber wahrscheinlich von verschiedenen Regionen/Ländern/Kontinenten aus andere Ergebnisse erhalten, da der Namensserver wahrscheinlich dann ein anderer sein wird und dort der erste Eintrag nicht derselbe sein muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz