A monitor for and a method of examining packets passing through a connection
point
on a computer network. Each packets conforms to one or more protocols. The method
includes receiving a packet from a packet acquisition device and performing one
or more parsing/extraction operations on the packet to create a parser record comprising
a function of selected portions of the packet. The parsing/extraction operations
depend on one or more of the protocols to which the packet conforms. The method
further includes looking up a flow-entry database containing flow-entries for previously
encountered conversational flows. The lookup uses the selected packet portions
and determining if the packet is of an existing flow. If the packet is of an existing
flow, the method classifies the packet as belonging to the found existing flow,
and if the packet is of a new flow, the method stores a new flow-entry for the
new flow in the flow-entry database, including identifying information for future
packets to be identified with the new flow-entry. For the packet of an existing
flow, the method updates the flow-entry of the existing flow. Such updating may
include storing one or more statistical measures. Any stage of a flow, state is
maintained, and the method performs any state processing for an identified state
to further the process of identifying the flow. The method thus examines each and
every packet passing through the connection point in real time until the application
program associated with the conversational flow is determined.