From eb76bc428d6730539e12ef9f90e59e3fc0fbd437 Mon Sep 17 00:00:00 2001 From: jim-p Date: Wed, 3 Feb 2010 21:27:55 -0500 Subject: New states summary page/package. Pretty basic to start with. --- config/states-summary/diag_states_summary.php | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 config/states-summary/diag_states_summary.php (limited to 'config/states-summary/diag_states_summary.php') diff --git a/config/states-summary/diag_states_summary.php b/config/states-summary/diag_states_summary.php new file mode 100644 index 00000000..427888dc --- /dev/null +++ b/config/states-summary/diag_states_summary.php @@ -0,0 +1,81 @@ + 0) { + foreach($states as $line) { + $line_split = preg_split("/\s+/", $line); + $type = array_shift($line_split); + $proto = array_shift($line_split); + $state = array_pop($line_split); + $info = implode(" ", $line_split); + + /* break up info and extract $srcip and $dstip */ + $ends = preg_split("/\?/", $info); + $parts = split(":", $ends[0]); + $srcip = trim($parts[0]); + $srcport = trim($parts[1]); + + $parts = split(":", $ends[count($ends) - 1]); + $dstip = trim($parts[0]); + $dstport = trim($parts[1]); + + $srcipinfo[$srcip]['seen']++; + $srcipinfo[$srcip]['protos'][$proto]['seen']++; + if (!empty($srcport)) { + $srcipinfo[$srcip]['protos'][$proto]['srcports'][$srcport]++; + } + if (!empty($dstport)) { + $srcipinfo[$srcip]['protos'][$proto]['dstports'][$dstport]++; + } + } +} + +function sort_by_ip($a, $b) { + return sprintf("%u", ip2long($a)) < sprintf("%u", ip2long($b)) ? -1 : 1; +} + +$pgtitle = "Diagnostics: State Table Summary"; +require_once("guiconfig.inc"); +include("head.inc"); +include("fbegin.inc"); +?> +

+ + + + + + + + + + + $ipinfo) { ?> + + + + + + + + + $protoinfo) { ?> + + + + + + + + + + + +
IP# StatesProto# StatesSrc PortsDst Ports
  
+ + -- cgit v1.2.3