#!/usr/bin/perl
#
# get logs out of kern.log and print it out something cleaned up, example:
#
#  "SCIPFIRE/INPUT_CAMP/DROP  IN=eth1 OUT= TCP 62.109.128.62:2111 =>  212.34.66.34:496"
#
# Usage: tail -f /var/log/firewall.og | flog
#
#
# Thomas Linden <scip@daemon.de>
#
# $Id: flog,v 1.2 2001/07/29 21:26:12 scip Exp $

use Data::Dumper;

$n = shift;
while (<>) {
  chomp;

  next if(! /PROTO=/);

  my($time) = (split / /)[2];
  s/^.*kernel: //;

  my %entry;
  @stuff = split / /;
  foreach my $data (@stuff) {
    my($key, $value) = split /=/, $data;
    $entry{$key} = $value;
  }

  # printf "%25s  %7s %7s %9s %-23s =>  %-23s\n", ;
  printf "%s %4s %4s   %-23s =>  %-23s DROP=%s\n",
    $time, $entry{PROTO}, $entry{IN}, $entry{SRC} . ":" . $entry{SPT}, $entry{DST} . ":" . $entry{DPT}, $entry{DROP};
}


