1. A computer system for identifying and extracting content from data traffic, the system comprising: a memory; one or more network adapters; and a processing device communicatively coupled to the memory and configured to execute program code stored in the memory, the program code comprising: a capture driver arranged to interface with the one or more network adapters, to monitor data traffic, to copy data packets from the traffic to a buffer without disrupting the traffic flow, and to generate pointer information to identify specific parts of a data packet; a plurality of decoder modules, each module being adapted to decode one or more specific data transfer protocols; and a control interface adapted to receive pointer information from the capture driver, to route the pointer information to one or more of the plurality of decoder modules, and to route extracted content from the data traffic to an application, wherein the control interface is adapted systematically to send pointer information relating to the captured data packet to decoder modules in turn until either a module accepts the data or until there are no more modules to try, wherein each module is adapted to communicate with the control interface to notify it to continue to send packets on a specific stream or to discontinue sending packets on the stream, and wherein, when a first module notifies the control interface that it no longer wishes to receive packets on the stream, the control interface notifies a second module processing a lower protocol layer so the second module can stop processing the lower protocol layer.