1. A method comprising: receiving a packet of data via a network at one or more classification engines: performing a first stage search at the one or more classification engines on the packet of data, wherein the first stage search identifies multiple potential strings of interest having a first block of data matching a corresponding block of data of one or more predetermined strings; generating a first stage search report indicating multiple potential strings of interest and a location of the multiple potential strings of interest within the packet of data; performing a second stage search on the packet of data, wherein the second stage search compares a second block of data of the multiple potential strings of interest indicated in the first stage search report to the one or more predetermined strings to determine whether a match exists; and generating a message to indicate that at least one of the multiple potential strings of interest is a string of interest if a match exists between the second block of data of at least one multiple potential string of interest and the one or more predetermined strings.