A database stores information about known hosts, the applications or
services they host, and the ports (known as confirmed ports) used by the
applications/services. A static traffic analyzer analyzes traffic data
and identifies packets communicating with (either sent to or received
from) confirmed ports on hosts. A dynamic traffic analyzer analyzes the
traffic data and identifies packets communicating with unconfirmed ports
on hosts. A host identifier uses the resulting static and dynamic traffic
to identify hosts for which firewall rules should be generated.