A parser system is arranged to receive a data stream (1) having interleaved sections derived from a plurality of different packets, and to extract data from each section as it arrives. The parser system has a scanning section which receives information about each of the sections of data defining which packet it relates to, and employs this information and the properties of the data stream, to identify the locations of layer (2), layer (3) and layer (4) data. This information is passed to parser units (7), (9) which extract data based on this data and also offsets. The offsets for the parser (7) are stored in user-programmable registers (9).