Il se trouve que quelques paquets traversent le routeur NetGear, par configuration. Certains d'entre eux finissent sur le firewall netfilter/iptables de ma machine.
Ils sont tracés, avec des commandes telles que :
(...)
IPT=/sbin/iptables
(...)
$IPT -N logdrop
$IPT -A logdrop -j LOG --log-prefix "fwlogdrop "
$IPT -A logdrop -j DROP
(...)
$IPT -A INPUT -m conntrack --ctstate NEW -j logdrop
(...)
Bref, revoici le script "log2gp.pl", modifié pour prendre en compte aussi ces paquets :
#!/usr/bin/perl -w
use strict;
my @file = <STDIN>;
my %d;
my %mon2num = qw(
jan 01 feb 02 mar 03 apr 04 may 05 jun 06
jul 07 aug 08 sep 09 oct 10 nov 11 dec 12
);
my $month;
my $day;
while (my $l = shift(@file)) {
chomp($l);
if ($l =~ m/^(\w+)\s+(\d+).*Packet - Source:.* Destination:.* - \[Any\(ALL\) rule match\]/) {
&add_log($1, $2);
} elsif ($l =~ m/^(\w+)\s+(\d+).* kernel: .*IN=.*OUT=.*SRC=.*DST=.*/) {
&add_log($1, $2);
}
}
sub add_log {
my $month = shift();
my $day = shift();
$month = $mon2num{lc(substr($month, 0, 3))};
$day = sprintf("%02d", $day);
if (!defined($d{"$month/$day"})) { $d{"$month/$day"} = 0.0; }
$d{"$month/$day"} += 1.0;
}
foreach my $k (sort(keys(%d))) {
print("$k $d{$k}\n");
}
La commande pour générer la courbe est toujours la même :
zcat /var/log/syslog.*.gz | ./log2gp.pl > fw.dat
gnuplot plot.conf
Aucun commentaire:
Enregistrer un commentaire