An apparatus for protocol parsing, characterized in that the apparatus comprises a hardware subsystem and a software subsystem: wherein, the hardware subsystem comprises: a flow table matching module, configured to perform flow table matching on a received packet to recognize a protocol of the packet; and a keyword matching module, configured to: when a protocol type of the packet is recognized and it is determined that the protocol type of the packet is a text-based protocol type, perform keyword matching on the packet according to a keyword matching rule in a keyword library corresponding to the protocol type of the packet, and extract content of a keyword to be parsed in the packet; wherein the keyword matching rule in the keyword library includes a keyword and the content of the keyword which are to be parsed and are expressed by using a regular expression; and wherein the software subsystem comprises: a result processing module and a protocol recognizing module; the protocol recognizing module is configured to: when the protocol type of the packet is recognized and it is determined that the protocol type of the packet is not a text-based protocol type, perform protocol recognition on the packet, and send a result of the protocol recognition after the protocol recognition to an application software program to process; and the result processing module is configured to parse a result of the keyword matching. wherein, the hardware subsystem comprises: a flow table matching module, configured to perform flow table matching on a received packet to recognize a protocol of the packet; and a keyword matching module, configured to: when a protocol type of the packet is recognized and it is determined that the protocol type of the packet is a text-based protocol type, perform keyword matching on the packet according to a keyword matching rule in a keyword library corresponding to the protocol type of the packet, and extract content of a keyword to be parsed in the packet; wherein the keyword matching rule in the keyword library includes a keyword and the content of the keyword which are to be parsed and are expressed by using a regular expression; and a flow table matching module, configured to perform flow table matching on a received packet to recognize a protocol of the packet; and a keyword matching module, configured to: when a protocol type of the packet is recognized and it is determined that the protocol type of the packet is a text-based protocol type, perform keyword matching on the packet according to a keyword matching rule in a keyword library corresponding to the protocol type of the packet, and extract content of a keyword to be parsed in the packet; wherein the keyword matching rule in the keyword library includes a keyword and the content of the keyword which are to be parsed and are expressed by using a regular expression; and wherein the software subsystem comprises: a result processing module and a protocol recognizing module; the protocol recognizing module is configured to: when the protocol type of the packet is recognized and it is determined that the protocol type of the packet is not a text-based protocol type, perform protocol recognition on the packet, and send a result of the protocol recognition after the protocol recognition to an application software program to process; and the result processing module is configured to parse a result of the keyword matching. a result processing module and a protocol recognizing module; the protocol recognizing module is configured to: when the protocol type of the packet is recognized and it is determined that the protocol type of the packet is not a text-based protocol type, perform protocol recognition on the packet, and send a result of the protocol recognition after the protocol recognition to an application software program to process; and the result processing module is configured to parse a result of the keyword matching.