Hey all,

I use the below very simple PHP script to look for high bandwidth usage inbound 
on the network.

$command = "/var/netflow/bin/flow-cat /var/netflow/current | 
/var/netflow/bin/flow-filter -Dnetwork -f/var/netflow/bin/flow.
acl| /var/netflow/bin/flow-stat -f8 -S2 | head -n 22";
$z = trim(shell_exec($command));
$array = explode("\n", "$z");
foreach ($array as $line) {
        #look for #
        $test = strpos("$line", "#");
        if ($test === FALSE) {
                $lnary = explode(" ", "$line");
                $line_array = array();
                foreach ($lnary as $thedata) {
                        if ($thedata != "") {
                                $line_array[] = $thedata;
                        }
                }
                $dest_ip = $line_array[0];
                $flows = $line_array[1] * 500;
                $octets = $line_array[2] * 500;
                $packets = $line_array[3] * 500;
                $actual_data[$dest_ip]['octets'] = $octets;
                $actual_data[$dest_ip]['packets'] = $packets;
                $actual_data[$dest_ip]['rate'] = $octets * 8 / 300 / 1000000;
        }
}
$y = 1;
foreach ($actual_data as $ip => $info) {
        $rate = number_format($info['rate'], 2);
        $rate = "{$rate}Mbps";
        if ($rate > 80) {
                if ($rate < 125) {
                        $severity = 0;
                } elseif ($rate > 125 && $rate < 300) {
                        $severity = 1;
                } elseif ($rate > 500 && $rate < 800) {
                        $severity = 2;
                } elseif ($rate > 1000) {
                        $severity = 3;
                }
                alert($ip, $rate, $severity);
        }
        echo "$ip - $rate\n";
}

The problem I have is that this script doesn't take into account the length of 
the flow and so the numbers it produces are skewed higher somewhat.

Has anyone else already figured out a way to incorporate the length of flows 
into calculations?

or is there a better way to do what I am trying to do?

thanks,
-Drew

_______________________________________________
Flow-tools mailing list
[email protected]
http://mailman.splintered.net/mailman/listinfo/flow-tools

Reply via email to