addInput(new Form_Input(
'filter',
'Filter expression',
'text',
$_POST['filter'],
['placeholder' => 'Simple filter such as 192.168, v6, icmp or ESTABLISHED']
));
$filterbtn = new Form_Button('filterbtn', 'Filter', null);
$filterbtn->removeClass('btn-primary')->addClass('btn-default btn-sm');
$section->addInput(new Form_StaticText(
'',
$filterbtn
));
if (isset($_POST['filter']) && (is_ipaddr($_POST['filter']) || is_subnet($_POST['filter']))) {
$killbtn = new Form_Button('killfilter', 'Kill States');
$killbtn->removeClass('btn-primary')->addClass('btn-danger btn-sm');
$section->addInput(new Form_StaticText(
'Kill filtered states',
$killbtn
))->setHelp('Remove all states to and from the filtered address');
}
$form->add($section);
print $form;
?>
=gettext("Int")?> |
=gettext("Proto")?> |
=gettext("Source -> Router -> Destination")?> |
=gettext("State")?> |
|
= 10000)
break;
$line_split = preg_split("/\s+/", $line);
$iface = array_shift($line_split);
$proto = array_shift($line_split);
$state = array_pop($line_split);
$info = implode(" ", $line_split);
// We may want to make this optional, with a large state table, this could get to be expensive.
$iface = convert_real_interface_to_friendly_descr($iface);
/* break up info and extract $srcip and $dstip */
$ends = preg_split("/\-\>?/", $info);
$parts = explode(":", $ends[0]);
$srcip = trim($parts[0]);
$parts = explode(":", $ends[count($ends) - 1]);
$dstip = trim($parts[0]);
?>
= $iface ?> |
= $proto ?> |
= $info ?> |
= $state ?> |
|
' . $errmsg . '');
}
include("foot.inc");