addInput(new Form_Select(
'interface',
'Interface',
$ifselect,
$iflist
));
$section->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,
'fa-filter'
);
$filterbtn->addClass('btn-primary 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',
null,
'fa-trash'
);
$killbtn->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("States")?>
=gettext("Interface")?> |
=gettext("Protocol")?> |
=gettext("Source -> Router -> Destination")?> |
=gettext("State")?> |
=gettext("Packets")?> |
=gettext("Bytes")?> |
|
intval($ids[$i]));
}
/* Interface filter. */
if (isset($_POST['interface']) && $_POST['interface'] != "all")
$arr[] = array("interface" => get_real_interface($_POST['interface']));
if (isset($_POST['filter']) && strlen($_POST['filter']) > 0)
$arr[] = array("filter" => $_POST['filter']);
if (count($arr) > 0)
$res = pfSense_get_pf_states($arr);
else
$res = pfSense_get_pf_states();
$states = 0;
if ($res != NULL && is_array($res))
$states = count($res);
/* XXX - limit to 10.000 states. */
if ($states > 10000)
$states = 10000;
for ($i = 0; $i < $states; $i++) {
if ($res[$i]['direction'] === "out") {
$info = $res[$i]['src'];
if ($res[$i]['src-orig'])
$info .= " (" . $res[$i]['src-orig'] . ")";
$info .= " -> ";
$info .= $res[$i]['dst'];
if ($res[$i]['dst-orig'])
$info .= " (" . $res[$i]['dst-orig'] . ")";
$srcip = get_ip($res[$i]['src']);
$dstip = get_ip($res[$i]['dst']);
} else {
$info = $res[$i]['dst'];
if ($res[$i]['dst-orig'])
$info .= " (" . $res[$i]['dst-orig'] . ")";
$info .= " <- ";
$info .= $res[$i]['src'];
if ($res[$i]['src-orig'])
$info .= " (" . $res[$i]['src-orig'] . ")";
$srcip = get_ip($res[$i]['dst']);
$dstip = get_ip($res[$i]['src']);
}
?>
= convert_real_interface_to_friendly_descr($res[$i]['if']) ?> |
= $res[$i]['proto'] ?> |
= $info ?> |
= $res[$i]['state'] ?> |
= format_number($res[$i]['packets in']) ?> /
= format_number($res[$i]['packets out']) ?> |
= format_bytes($res[$i]['bytes in']) ?> /
= format_bytes($res[$i]['bytes out']) ?> |
|
}
?>