1. A parser system comprising: an interface configured to receive a data stream composed of interleaved sections of a plurality of different packets, and to receive section identity information about each of the sections of data defining to which packet it relates; a scanning section configured to identify structural features of the packets using the section identify information, the structural features including the location of the start of one or more of layer 2 and layer 3 data in the packets; and a parsing unit configured to process the data stream in a section-by-section manner and to employ the section identity information to identify and extract data from the sections of the plurality of different packets, the parsing unit comprising: a first parser configured to extract data using offset information stored in user-programmable registers, the user offset information including an indication of whether data is to be extracted from the layer 2 or layer 3 data, and an indication of the location of the data to be extracted relative to the location of the start of the layer 2 or layer 3 data; and a second parser configured to extract data from the packets in locations defined by the identified structural features of the packets and predetermined offset information.