IP Library Granted Patent US 8,260,906
Granted Patent B1
US 8,260,906 · App. 10/206,679 · Granted Sep 4, 2012

System and method for heuristic determination of network protocols

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,260,906
App. No.
10/206,679
Granted
Sep 4, 2012
Kind
B1
Abstract

A system, method and computer program product are provided for heuristically identifying protocols during network analysis utilizing a network analyzer. First provided is a sequencing and reassembly (SAR) engine module for sequencing and/or re-assembling network communications. Coupled to the engine module is a plurality of protocol interpreter modules for interpreting protocols associated with the network communications. At least one of the protocol interpreter modules is adapted for heuristically identifying protocols associated with the network communications.

Claims (21)

1. A system including a non-transitory computer readable medium, comprising:

an engine software module for at least one of sequencing and reassembling network communications; and

a plurality of protocol interpreter software modules coupled to the engine module for interpreting protocols associated with the network communications, wherein at least one of the protocol interpreter modules is adapted for heuristically identifying protocols associated with the network communications using a plurality of heuristic functions, and

wherein the at least one protocol interpreter software module is adapted for identifying the protocols associated with the network communications based on a port number, the port number being provisioned in a registered port table that is systematically used to evaluate the particular protocol, and wherein if the particular protocol is not identified via the registered port table then the heuristic functions are used to identify the particular protocol, the heuristic functions being provisioned in a heuristic table, which is organized based on priorities of the heuristic functions, and wherein the priorities are used to call the heuristic functions in a specific order until the particular protocol is identified and a network communication corresponding to the particular protocol is passed to the engine module for subsequent sequencing and reassembling.

2. The system as recited in claim 1 , wherein, in response to initiation of the network analyzer, a plurality of functions are carried out including:

registering a first protocol and associated layer information,

identifying a name and suite to which the first protocol belongs,

assigning another name to the first protocol,

identifying an entry point to the protocol interpreter, and

specifying a length of a protocol data unit (PDU) header.

3. The system as recited in claim 1 , wherein the heuristic functions that are provisioned are predetermined.

4. The system as recited in claim 1 , wherein the heuristic functions that are provisioned are dynamically determined.

5. A network analyzer computer program product embodied on a non-transitory computer readable medium, comprising:

a first code segment for at least one of sequencing and reassembling network communications; and

a second code segment for interpreting protocols associated with the network communications,

wherein the second code segment is adapted for heuristically identifying protocols associated with the network communications using a plurality of heuristic functions, and

wherein the second code segment is adapted for identifying the protocols associated with the network communications based on a port number, the port number being provisioned in a registered port table that is systematically used to evaluate the particular protocol, and wherein if the particular protocol is not identified via the registered port table then the heuristic functions are used to identify the particular protocol, the heuristic functions being provisioned in a heuristic table, which is organized based on priorities of the heuristic functions, and wherein the priorities are used to call the heuristic functions in a specific order until the particular protocol is identified and a network communication corresponding to the particular protocol is passed for subsequent sequencing and reassembling.

6. A computer-implemented method carried out utilizing computer code embodied on a non-transitory computer readable medium for heuristically identifying protocols, comprising:

receiving a network communication;

identifying a particular protocol associated with the network communication based on a plurality of heuristic functions,

wherein the particular protocol associated with the network communication is identified based on a port number, the port number being provisioned in a registered port table that is systematically used to evaluate the particular protocol, and wherein if the particular protocol is not identified via the registered port table then the heuristic functions are used to identify the particular protocol, the heuristic functions being provisioned in a heuristic table, which is organized based on priorities of the heuristic functions, and wherein the priorities are used to call the heuristic functions in a specific order until the particular protocol is identified and a network communication corresponding to the particular protocol is passed for subsequent sequencing and reassembling.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
MERGER Recorded Jun 23, 2005
From: NETWORKS ASSOCIATES TECHNOLOGY, INC.
To: MCAFEE, INC.
Reel/Frame 016646/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2002
From: FREEDMAN, JEROME N.
To: NETWORKS ASSOCIATES TECHNOLOGY, INC.
Reel/Frame 013145/0550 →