Zunächst ich verstehe nicht viel von Perl, eigentlich nur das was man von anderen Programmiersprachen mitnimmt.
Ich habe ein Perl Skript aus dem Internet und möchte dieses auf meinem RADIUS-Server ausführen. Der Sinn ist folgender: Ich habe eine Log-Datei die ich mit Hilfe des Skriptes auswerten möchte. Als Parameter gebe ich den Dateinamen mit. Soweit ich das erkenne, öffnet das Skript die Datei und liest dann auch erfolgreich Datensätze ein. Doch weiter kommt er nicht ....
Hier der Link zu der Datei
http://www.pgregg.com/projects/radiusreport/radiusreport-0.3b6.tar
Sie ist sehr lang und deshalb möchte ich sie hier nicht posten! Versuchsweise haben ich mal next; (ca. Zeile 301) auskommentiert. Dann werden Datensätze ausgegeben, allerding ohne Werte.
Hier meine Ausgabe wenn ich das original Programm aufrufe:
./radiusreport -l all -f /var/log/freeradius/radacct/192.168.2.2/detail-20051107
Radius Log Report for: client01
Date Login Logout Ontime Port
-----------------------------------------------------------------------------
------------------------------------------------------------------------
Radius Log Report for: client11
Date Login Logout Ontime Port
-----------------------------------------------------------------------------
------------------------------------------------------------------------
Die auszuwertende Datei sieht so aus:
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
Mon Nov 7 09:32:49 2005
NAS-IP-Address = 192.168.2.2
NAS-Port = 50003
NAS-Port-Type = Ethernet
User-Name = "client01"
Called-Station-Id = "00-14-69-98-F5-43"
Calling-Station-Id = "00-0F-1F-A6-ED-68"
Acct-Status-Type = Start
Acct-Authentic = RADIUS
Acct-Session-Id = "192.168.2.2 client01 03/01/93 00:38:18 00000001"
Acct-Delay-Time = 0
Client-IP-Address = 192.168.2.2
Acct-Unique-Session-Id = "420ad22d9b4e2d57"
Timestamp = 1131352369
Mon Nov 7 09:34:24 2005
NAS-IP-Address = 192.168.2.2
NAS-Port = 50003
NAS-Port-Type = Ethernet
User-Name = "client01"
Called-Station-Id = "00-14-69-98-F5-43"
Calling-Station-Id = "00-0F-1F-A6-ED-68"
Acct-Status-Type = Stop
Acct-Authentic = RADIUS
Acct-Session-Id = "192.168.2.2 client01 03/01/93 00:38:18 00000001"
Acct-Terminate-Cause = Port-Error
Acct-Input-Octets = 8587
Acct-Output-Octets = 6748
Acct-Session-Time = 95
Acct-Delay-Time = 0
Client-IP-Address = 192.168.2.2
Acct-Unique-Session-Id = "420ad22d9b4e2d57"
Timestamp = 1131352464
Es tut mir leid, dass ich nicht näher beschreiben kann wo das Problem liegt!