sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #47129
Fw: Perl puzzle - (multidimensionelt hash-array?)
Hej ssluggere.
Der var ikke bid i perl-gruppen, måske er der nogle hér som kan hjælpe?
"Kent B. Hansen" <kent.hansen@xxxxxxxxxxx> skrev i en meddelelse
news:a2sg2m$8r3$1@xxxxxxxxxxxx...
> Hej ssluggere!
>
> Jeg har et problem med en logfil, som jeg gerne vil have analyseret -
måske
> er her nogle som kan hjælpe mig på vej?
>
> Logfilen indeholder en masse linier a'la:
> (something...) 10.1.2.3 -> 10.3.4.5 (something...)
>
> ...altså "ip-nummer 10.1.2.3 har lavet en connect til ip 10.3.4.5".
>
> Jeg vil gerne lave et script, som kan analysere filen, og fortælle mig
hvor
> mange FORSKELLIGE ip-adresser et givent ip har haft fat i (for at opdage
> portscans osv.)
>
> Jeg åbner filen som <LOG> og fyrer følgende af:
>
> while ( $line = <LOG> ) {
> if (($src, $dest) = ( $line =~ / (10\.\d{1,3}\.\d{1,3}\.\d{1,3}).* ->
> (10\.\d{1,3}\.\d{1,3}\.\d{1,3})/ )) {
> $connects{$src}{$dest}+=1;
> }
> }
>
> Det burde, såvidt jeg kan se, tælle op hvor mange gange en given connect
> (fra ét bestemt ip til ét bestemt andet) finder sted. Problemet er at
fiske
> dataene ud igen...
>
> Jeg forsøger at lave to nestede loops, a'la:
>
> foreach $src (keys (%connects) ) {
> foreach $dest (keys (%connects{$src}) ) {
> $visited{$src}++;
> }
> }
>
> ...men det virker bare ikke. :-(
>
> Hvordan kringler jeg den?!?
>
> Mvh.
> Kent B. Hansen
>
>