Ik heb in mijn proxy dir pproxyrc57220040116.log t/m pproxyrc57220040211.log zitten. Ongeveer een maand dus.
Als ik nu striplog draai dan maakt die maar twee files aan: pinproxyrc520040210.log en pinproxyrc520040211.log. Ookal heb ik hem ingesteld dat hij alle logs van het afgelopen jaar moet doen. Ik krijg verder geen foutmelding oid?
Ook heb ik de dubbele blockjes checker code van Welke perl-guru maakt een dupeblock checker? aan het script toegevoegt. Maar ook zonder die toevoeging pakt hij alleen de laatst twee dagen.
Hier een voorbeeldje van zo'n pinproxy log:
Ook de dupe checker werkt niet, in de logs staat 217.120.45.107 een heleboel dubbele blokjes geflushed heeft...
Iemand een idee? Ik heb totaal geen verstand van perl
.
Als ik nu striplog draai dan maakt die maar twee files aan: pinproxyrc520040210.log en pinproxyrc520040211.log. Ookal heb ik hem ingesteld dat hij alle logs van het afgelopen jaar moet doen. Ik krijg verder geen foutmelding oid?
Ook heb ik de dubbele blockjes checker code van Welke perl-guru maakt een dupeblock checker? aan het script toegevoegt. Maar ook zonder die toevoeging pakt hij alleen de laatst twee dagen.
code:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
| #!/usr/bin/perl
#
# striplog2.pl
# 2001-02-03 Vragen&opmerkingen naar: mailme@dkit.nl
# Lees striplog2.txt voor info.
# 1: projecten
#$rc5 = 1; <-- wel RC5
#$rc5 = 0; <-- geen RC5
$rc5 = 1;
$ogr = 0;
# 2: maak deze gelijk aan wat achter:
# 'logfilekeyblock='
# staat in je proxyper.ini (kijk bij [RC5] en [OGR] in je proxyper.ini)
$rc5log = "pproxyrc572";
$ogrlog = "pproxyogr";
# 3: oude logs: (vul aantal dagen in, bv logs van 1 jaar: $oudelogs = 365);
# Bij 'normale' werking moet hier een 0 staan, alleen veranderen om oude logs te doen.
$oudelogs = 0;
# 4
# Zie hieronder, bij: "Vul hieronder zelf de ip-ranges aan.",
# Vergeet niet je rc5-dns.cache (en eventueel ogr-dns.cache) aan te passen.
# Klaar!
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = nice_time(time);
if (!$isdst) {
$uurcorr = 3600;
} else {
$uurcorr = 7200;
}
#deze alleen veranderen als je weet wat je aan het doen bent :-)
$rc5small = "pinproxyrc5";
$ogrsmall = "pinproxyogr";
for ($dagen = 0; $dagen <= $oudelogs; $dagen++) {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = nice_time(time-$uurcorr-($dagen * 86400));
$curdate = "$year$mon$mday";
if ($rc5) {
$biglog = $rc5log . $curdate . ".log";
$smallog = $rc5small . $curdate . ".log";
if (!-e $smallog && !$oudelogs) {
$oudelogs = 1;
}
proclog($biglog, $smallog);
}
if ($ogr) {
$biglog = $ogrlog . $curdate . ".log";
$smallog = $ogrsmall . $curdate . ".log";
if (!-e $smallog && !$oudelogs) {
$oudelogs = 1;
}
proclog($biglog, $smallog);
}
}
sub proclog {
undef %full;
undef %final;
my($voor, $na) = @_;
open (LEES, '<'."$voor") or print "Kan de proxylogs niet lezen: $voor\n";
while (defined($entry = <LEES>)) {
chomp($entry);
$entry =~ tr/A-Z/a-z/;
($datetime, $ipaddr, $email, $block, $nkeys, $os, $cpu, $ver, $space) = split(/,/, $entry);
# *****************************************************************
# Vul hieronder zelf de ip-ranges aan.
# bijv: 195.121.x.x (WXS) wordt vervangen door 10.1.1.3
#
# in de rc5-dns.cache vul ik in:
# 10.1.1.3,NAAM_VAN_DE_GOZERT_DIE_WXS_GERUIKT,2001/02/01
# 10.1.1.4,NAAM_VAN_DE_GOZERT_DIE_WANNADOO_GERUIKT,2001/02/01
#
# Voorbeelden:
#$ipaddr =~ s/^195\.240\.10\.28/10.1.1.6/; alleen 195.240.10.28
#$ipaddr =~ s/^195\.240\.10\..+/10.1.1.5/; alles wat begint met 195.240.10
#$ipaddr =~ s/^194\.109\..+/10.1.1.4/; alles wat begint met 194.109
#$ipaddr =~ s/^213\..+/10.1.1.3/; alles wat begint met 213
$ipaddr =~ s/^195\.121\..+/10.1.1.3/; #WXS mod
$ipaddr =~ s/^193\.173\..+/10.1.1.2/; #Lijn3 zkh
$ipaddr =~ s/^213\.116\..+/10.1.1.4/; #uunet JW
$ipaddr =~ s/^212\.136\..+/10.1.1.4/; #uunet JW
$ipaddr =~ s/^191\.178\..+/10.1.1.4/; #uunet JW
$ipaddr =~ s/^212\.153\..+/10.1.1.4/; #uunet JW
$ipaddr =~ s/^194\.134\..+/10.1.1.4/; #wannadoo JW
$ipaddr =~ s/^194\.178\..+/10.1.1.4/; #wannadoo JW
$ipaddr =~ s/^195\.108\..+/10.1.1.4/; #uunet JW
$ipaddr =~ s/^195\.240\..+/10.1.1.5/; #wol mico
$ipaddr =~ s/^194\.109\..+/10.1.1.4/; #xs4all jw
$ipaddr =~ s/^213\.75\..+/10.1.1.3/; #WXS mod
$main="$email,$ipaddr,$os,$cpu,$ver";
if (defined($full{$main})) {
$full{$main} += "$nkeys";
$full{$main}{$main} = "$datetime,$block"; }
else {
$full{$main} = "$nkeys";
$full{$main}{$main} = "$datetime,$block"; }
}
close LEES;
if (defined(%full)) {
foreach $main (keys %full) {
($email, $ipaddr, $os, $cpu, $ver, $space) = split(/,/, $main);
($datetime, $block) = split(/,/, $full{$main}{$main});
$final{"$datetime,$ipaddr,$email,$block,$full{$main},$os,$cpu,$ver"} = 0;
}
open (SCHR, '>'."$na") or print "Kan de gecomprimeerde logs niet schrijven: $na\n";
foreach $main (sort (keys %final)) { print SCHR "$main\n"; }
close SCHR;
}
}
sub nice_time {
my @utc = localtime(shift @_);
my $i;
$utc[4]++;
$utc[5] += 1900;
for ($i = 0; $i < 5; $i++) {
while (length($utc[$i]) < 2) {
$utc[$i] = "0" . $utc[$i];
}
}
return ($utc[0], $utc[1], $utc[2], $utc[3], $utc[4], $utc[5], $utc[6], $utc[7], $utc[8]);
}
#!/usr/bin/perl
#
undef %full;
$log = "pproxyrc5all.log";
open (INPUTFILE, '<'."$log");
while (defined($entry = <INPUTFILE> )) {
chomp($entry);
$entry =~ tr/A-Z/a-z/;
($datetime, $ipaddr, $email, $block, $nkeys, $os, $cpu, $ver, $space) = split(/,/, $entry);
if (defined($full{$block})) {
$full{$block} += 1;
print $datetime . "," . $ipaddr . "," . $email . "," . $block . "," . $nkeys . "," . $os . "," . $cpu . ",8010 \n";
} else {
$full{$block} = 1;
}
}
close INPUTFILE; |
Hier een voorbeeldje van zo'n pinproxy log:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| 2004-02-11 08:34:36,82.74.70.42,crazycows@hotmail.com,ca:7ad7ae1a:00000000,26,1,1,90070486 2004-02-11 08:48:06,62.234.140.169,crazycows@hotmail.com,ca:7ad826ff:00000000,4,1,1,90070486 2004-02-11 14:51:34,192.168.0.4,crazycows@hotmail.com,ca:7ad80d2d:00000000,5,1,1,90070486 2004-02-11 15:20:59,62.251.106.13,crazycows@hotmail.com,ca:7ad83c0c:00000000,10,1,1,90070486 2004-02-11 16:44:32,217.120.45.107,crazycows@hotmail.com,ca:7ad83ddb:00000000,312,1,1,90070486 2004-02-11 17:11:21,217.121.43.121,crazycows@hotmail.com,ca:7ad846ee:00000000,15,1,1,90070486 2004-02-11 17:19:28,217.123.102.149,crazycows@hotmail.com,ca:7ad83a4d:00000000,4,1,1,90070486 2004-02-11 17:20:08,217.122.71.133,crazycows@hotmail.com,ca:7ad845ab:00000000,15,1,1,90070486 2004-02-11 17:24:43,217.123.102.63,crazycows@hotmail.com,ca:7ad7df4e:00000000,15,1,1,90070486 2004-02-11 17:24:44,217.123.102.63,crazycows@hotmail.com,ca:7ad801f4:00000000,25,1,1,90010477 2004-02-11 17:24:45,217.123.102.63,crazycows@hotmail.com,ca:7ad802a2:00000000,55,1,1,90050483 2004-02-11 17:42:36,83.116.7.2,crazycows@hotmail.com,ca:7ad84747:00000000,38,1,1,90070486 2004-02-11 17:51:13,80.61.196.121,crazycows@hotmail.com,ca:7ad83c86:00000000,36,1,1,90070486 2004-02-11 18:00:08,213.118.153.182,crazycows@hotmail.com,ca:7ad84847:00000000,24,1,1,90070486 2004-02-11 18:13:37,217.123.102.170,crazycows@hotmail.com,ca:7ad83b92:00000000,9,1,1,90070486 2004-02-11 18:18:44,83.116.10.133,crazycows@hotmail.com,ca:7ad84859:00000000,21,1,1,90070486 2004-02-11 18:22:40,81.82.3.3,crazycows@hotmail.com,ca:7ad84858:00000000,7,1,1,90070486 2004-02-11 18:24:45,217.123.101.252,crazycows@hotmail.com,ca:7ad6b008:00000000,250,1,1,90070486 |
Ook de dupe checker werkt niet, in de logs staat 217.120.45.107 een heleboel dubbele blokjes geflushed heeft...
Iemand een idee? Ik heb totaal geen verstand van perl
tvw