Source IP Destination IP Bytes
10.0.0.24 93.188.134.219 32684
120.137.205.48 10.0.0.171 258
10.0.0.26 84.124.185.220 432
10.0.0.10 84.31.180.236 1476
84.31.180.236 10.0.0.10 4273
####
10.0.0.10 84.31.180.236 1476
84.31.180.236 10.0.0.10 4273
####
10.0.0.10 84.31.180.236 5749
####
10.0.0.24 93.188.134.219 32684
120.137.205.48 10.0.0.171 258
10.0.0.26 84.124.185.220 432
10.0.0.10 84.31.180.236 5749
####
#!/usr/bin/perl
use strict;
my @lines;
open(D, $ARGV[0]) || die("Could not open file!\nUsage: $0 file ");
@lines = ;
close(D);
my %count;
foreach (@lines) {
next if /^#|^(\s)*$/;
chomp;
my ($ipa, $ipb, $bytes) = split /\t\s?/;
if((grep /$ipb/, %count) && (grep /$ipa/, (%{$count{$ipb}})))
{
$count{$ipb}{$ipa}+=$bytes;
}
else
{
$count{$ipa}{$ipb}+=$bytes;
}
}
foreach my $key(keys %count){
foreach my $k(keys %{$count{$key}}){
print "${key}\t$k\t$count{$key}->{$k}\n";
}
}
####
Source IP Destination IP Bytes Packets Flows
10.0.0.10 84.31.180.236 1476 241 22
84.31.180.236 10.0.0.10 4273 15 3
=>
10.0.0.10 84.31.180.236 5749 256 25