%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/waritko/
Upload File :
Create Path :
Current File : //home/waritko/nfstat.php

<?php
	function fsize($size)
	{
		$jedn = array("bytes", "Kbytes", "Mbytes", "Gbytes", "Tbytes", "Pbytes");
		//$size = filesize($name);
		$i = 0;
		while($size > 1023)
		{
			$size /= 1024;
			$i++;
		}
		return sprintf("%0.2f %s", $size, $jedn[$i]);
	}
	$f = popen("tail /var/log/messages -n 500000 | grep nfcapd | tail -n 150 | tac", "r");
	$out = array();
	while(!feof($f))
	{
		$line = fgets($f);
		if(preg_match_all("/(.*?) Ident: '(.*?)' Flows: ([0-9]+), Packets: ([0-9]+), Bytes: ([0-9]+), Sequence Errors: ([0-9]+), Bad Packets: ([0-9]+)/", $line, $matches))
		{
			$ident = $matches[2][0];
			$beg = $matches[1][0];
			$flows = number_format($matches[3][0], 0, '.', ' ');
			$packets = number_format($matches[4][0], 0, '.', ' ');
			$pps = number_format($matches[4][0]/300, 0, '.', ' ');
			$bytes = fsize($matches[5][0]);
			$sqerr = number_format($matches[6][0], 0, '.', ' ');
			$bp = number_format($matches[7][0], 0, '.', ' ');
			if($ident == "lo")
			{
				$pps = number_format($matches[4][0]/3600, 0, '.', ' ');
				$out[] = "<span style=\"background-color: #6BBAB0;\">$beg Ident: '$ident' Flows: <b>$flows</b>, Packets: <b>$packets</b> (approx <b>$pps</b> pps), Bytes: <b>$bytes</b>, Sequence Errors: <b>$sqerr</b>, Bad Packets: <b>$bp</b></span>";
			}
			elseif($ident == "devbox")
			{
				$pps = number_format($matches[4][0]/3600, 0, '.', ' ');
				$out[] = "<span style=\"background-color: #6699FF;\">$beg Ident: '$ident' Flows: <b>$flows</b>, Packets: <b>$packets</b> (approx <b>$pps</b> pps), Bytes: <b>$bytes</b>, Sequence Errors: <b>$sqerr</b>, Bad Packets: <b>$bp</b></span>";
			}
                        elseif($ident == "arjen")
                        {
                                $pps = number_format($matches[4][0]/3600, 0, '.', ' ');
                                $out[] = "<span style=\"background-color: #76f3fc;\">$beg Ident: '$ident' Flows: <b>$flows</b>, Packets: <b>$packets</b> (approx <b>$pps</b> pps), Bytes: <b>$bytes</b>, Sequence Errors: <b>$sqerr</b>, Bad Packets: <b>$bp</b></span>";
                        }
                        elseif($ident == "ludek")
                        {
                                $pps = number_format($matches[4][0]/3600, 0, '.', ' ');
                                $out[] = "<span style=\"background-color: #f3fc76;\">$beg Ident: '$ident' Flows: <b>$flows</b>, Packets: <b>$packets</b> (approx <b>$pps</b> pps), Bytes: <b>$bytes</b>, Sequence Errors: <b>$sqerr</b>, Bad Packets: <b>$bp</b></span>";
                        }
			else
			{
				$out[] = "<span style=\"background-color: #AC89D8;\">$beg Ident: '$ident' Flows: <b>$flows</b>, Packets: <b>$packets</b> (approx <b>$pps</b> pps), Bytes: <b>$bytes</b>, Sequence Errors: <b>$sqerr</b>, Bad Packets: <b>$bp</b></span>";
			}
		}
		/*else
		{
			$out[] =  trim($line);
		}*/
	}
	pclose($f);
?>
<!DOCTYPE html>
<html>
<head>
	<title>NFcapD stats</title>
	<META HTTP-EQUIV="Refresh" CONTENT="300">
	<META HTTP-EQUIV="Cache-Control" content="no-cache">
	<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>
<body>
<?php
	foreach($out as $o)
	{
		echo $o."<br>\n";
	}
?>	
</body>
</html>

Zerion Mini Shell 1.0