U.S. Pat. No. 9,374,283
SYSTEM AND METHOD FOR ANALYSING ONLINE GAME PACKETS
AssigneeELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Issue DateOctober 5, 2012
Illustrative Figure
Abstract
A system and method for analyzing an online game packet are disclosed. The system for analyzing the online game packet includes a capturing unit that captures a packet transmitted between a client terminal and a game server, and an analysis unit that analyzes the packet captured by the capturing unit, and defines, according to an analyzed result, a data field included in the packet as a static field having the same field structure or a dynamic field having a field structure according to a reference field defining an arrangement rule of a field or a field structure according to a user's request. According to the present invention, the data field of the captured packet may be defined for each type according to structural characteristics, thereby automatically analyzing the packet.
Description
DESCRIPTION OF EXAMPLE EMBODIMENTS Example embodiments of the present invention are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments of the present invention, however, example embodiments of the present invention may be embodied in many alternate forms and should not be construed as limited to example embodiments of the present invention set forth herein. Accordingly, while the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like numbers refer to like elements throughout the description of the figures. It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. ...
DESCRIPTION OF EXAMPLE EMBODIMENTS
Example embodiments of the present invention are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments of the present invention, however, example embodiments of the present invention may be embodied in many alternate forms and should not be construed as limited to example embodiments of the present invention set forth herein.
Accordingly, while the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like numbers refer to like elements throughout the description of the figures.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (i.e., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
It should also be noted that in some alternative implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1is a block diagram illustrating a system for testing a load of an online game server. The system for testing the load of the online game server includes a capturing unit10, an analysis unit20, a client terminal30, a game server40, a packet DB50, and a virtual user control unit60.
The client terminal30and the game server40transmit packets at the time of execution of a game, and the capturing unit10captures the packets transmitted between the client terminal30and the game server40. The captured packet is stored in the packet DB50, or directly provided to the analysis unit20, and the analysis unit20generates a game description language based on a result obtained by analyzing the packet.
The virtual user control unit60generates a plurality of virtual users based on the game description language generated by the analysis unit20to thereby test a load of the game server40.
FIG. 2is a block diagram illustrating a configuration of a system for analyzing an online game packet according to an embodiment of the present invention.
The system for analyzing the online game packet includes the capturing unit10and the analysis unit20, and the analysis unit20includes a packet definition unit21, a reassembling unit22, and a data field definition unit23.
The capturing unit10captures packets transmitted between the client terminal30and the game server40, and may further include a captured time, a generated event, and a time and screen shot when the event is generated, in addition to the packet to thereby capture them.
In addition, the packet captured by the capturing unit10, a time when the packet is captured, the generated event, and a time and a screen shot when the event is generated may be output through a display device (not shown).
FIG. 4is a drawing illustrating information captured by the capturing unit10. Here, a packet captured by the capturing unit10, a time when the packet is captured, a generated event, and a time and screen shot when the event is generated may be output to a screen shown inFIG. 4. InFIG. 4, Time Stamp denotes the time when the packet is captured or when the event is generated, Event denotes a generated keyboard and mouse event, Packet Data denotes a packet, and Screen Shot denotes a screen shot.
The analyzing unit20analyzes the packet captured by the capturing unit10, and defines a data field76included in the packet as a static field having the same field structure or a dynamic field having a field structure according to a reference field defining an arrangement rule of a field or a field structure according to a user's request.
The analysis unit20includes a packet definition unit21, a reassembling unit22, and a data field definition unit23.
The packet definition unit21analyzes the packet captured by the capturing unit10to thereby analyze which components (header, trailer, data field, or the like) the packet includes.
Referring toFIG. 5, a header according to a result obtained by analyzing the packet in the packet definition unit21may include a packet size71, a protocol ID72, a checksum73, a field list74, and a dummy75, and the packet may be formed by a combination of these.
In addition, the packet definition unit21analyzes which components the packet includes, and then enables the components of the packet to be classified according to the analyzed result. In this instance, the components may be classified using a coloring method, and the coloring denotes display of each of the components in mutually different colors.
The packet definition unit21may display a size to each component of the packet which has been subjected to coloring, and for example, when a size of packet size71is 3 bytes, a size of the protocol ID72is 3 bytes, a size of the checksum73is 3 bytes, and a size of the dummy75is 4 bytes, each component of the packet may be displayed as shown inFIG. 5. However, the field list74does not have a size, and has only an order.
In addition, the packet definition unit21combines session information of the game server40with the packet in which the size of the component is displayed, and the session information includes Internet Protocol (IP) and target port information. The packet definition unit21may display a starting position of each of the checksum73and the dummy75as shown inFIG. 5when the header includes the checksum73and the dummy75. In this instance, the starting position denotes a starting position of an operation for determining a value of each of the checksum73and the dummy75.
The reassembling unit22reassembles the packet based on the packet structure defined by the packet definition unit21. In this instance, the packet may be reassembled based on the packet size71. When a single packet transmitted between the client terminal30and the game server40is separated and transmitted, the reassembling unit22reassembles the separated and transmitted packet to thereby form a single packet, and when a plurality of packets are combined as one and transmitted, the reassembling unit22separates and reassembles the transmitted packets to thereby form a single packet.
The data field definition unit23may classify the data field76of the packet reassembled by the reassembling unit22using a length according to the number of bytes, and classify the data field76by performing coloring on the packet according to a field size. Referring toFIG. 6, the reassembled packet70includes Null Data (00 00), a packet size71, a protocol ID72, and a data field76. Here, a data field76of an uppermost packet70is configured with “28 E2 F5 05 01 00 00 00 00 90 9A 96 42 00 00 00 00 10 10 0D C3 B5 2B 37 3F,” “28 E2 F5 05 01 00 00 00 00 90 9A 96 42 00 00 00 00 10 10 0D C3 B5 2B 37 3F” is classified into “28 E2 F5 05,” “01 00 00 00,” “00 90,” “9A 96 42 00,” “00 00 00 10,” “10 0D C3 B5,” and “2B 37 3F,” and each of the classified fields may be subjected to coloring with mutually different colors.
In addition, the data field definition unit23defines the data field76included in the packet captured by the capturing unit10as at least one type according to structural characteristics. That is, the data field76may define the data field as a static field and a dynamic field according to structural characteristics, and the dynamic field may be defined as A, B, C, D, E, and F types.
The static field may have the same structure of the data field76while a structure of the data field76is not changed according to a progress situation of a game or a subject to transmit the packet.
FIG. 6is a drawing illustrating an example of a static field. The static field includes a character level field76ahaving a size of 4 bytes, a channel number field76bhaving a size of 4 bytes, a count field76chaving a size of 2 bytes, an X-coordinate field76dhaving a size of 4 bytes, a Y-coordinate field76ehaving a size of 4 bytes, a Z-coordinate field76fhaving a size of 4 bytes, and a speed field76ghaving a size of 4 bytes. In this manner, the data field76that has the same field structure without being changed according to the progress situation of the game or the subject to transmit the packet is defined as the static field.
When a reference field80defines the number of repetitions of a subsequent field list, the data field arranged according to the number of repetitions is defined as an A-type dynamic field. Referring toFIG. 7A, when the reference field80that defines the number of repetitions of the subsequent field list is “01,” the subsequent field list positioned behind the reference field80is repeated once to be positioned, and when the reference field80is “02,” the subsequent field list positioned behind the reference field80is repeated twice to be positioned.
When the reference field80defines the number of bytes to be converted into bits, the data field arranged according to the converted bits based on the number of bytes is defined as a B-type dynamic field. Referring toFIG. 7B, when the reference field80that defines the number of bytes to be converted into bits is “02 00,” “00000010 00000000” may be obtained by converting “02 00” into bits, and at this time, “1” is one, and therefore one field having a size of 4 bytes (size defined by a user) is positioned behind the reference field80. When the reference field80that defines the number of bytes to be converted into bits is “09 00,” “00001001 00000000” may be obtained by converting “09 00” into bits, and at this time, “1” is two, and therefore two fields having a size of 4 bytes (size defined by a user) are positioned behind the reference field80. In addition, when “04 00” that is the reference field80is converted into bits, “1” is one, and therefore one field having a size of 4 bytes is positioned behind the reference field80, and when “07 00” that is the reference field80is converted into bits, “1” is three, and therefore three fields having a size of 4 bytes (size defined by a user) are positioned behind the reference field80.
When the reference field80defines a size of the subsequent field, the data field arranged according to the size of the subsequent field is defined as a C-type dynamic field. Referring toFIG. 7C, when the reference field80that defines the size of the subsequent field is “05,” the subsequent field positioned behind the reference field80has a size of 5 bytes.
When the reference field80defines a predetermined parameter indicating an arrangement structure of the subsequent field, the data field arranged according to the predetermined parameter is defined as a D-type dynamic field. Referring toFIG. 7D, when the reference field80that defines the predetermined parameter indicating the arrangement structure of the subsequent field is “01,” the subsequent field positioned behind the reference field80is formed as two fields (00 00 00 00, C8 45 2D 44) having sizes of 4 bytes, one field (00) having a size of 1 byte, one field (00 00 00 00) having a size of 4 bytes, one field (9E) having a size of 1 byte, and one field (8D C2 00 00) having a size of 4 bytes.
In addition, when the reference field80is “02,” the subsequent field positioned behind the reference field80is formed as five fields (00 00, 00 00, A0 36, 0F 43, 00 00) having sizes of 2 bytes.
A field having a termination condition according to a user's request among the data fields76is defined as an E-type dynamic field. In this instance, when a user designates a starting point and a termination condition of the E-type dynamic field, a corresponding data field76is defined as an E-type dynamic field. Referring toFIG. 7E, when a user designates the starting point of the E-type dynamic field as a first byte of data “00 00 00,” and designates a condition in which data “00 00 00 00” at a point spaced apart from the starting point by at least 7 bytes is present, as the termination condition, the E-type dynamic field may be defined as “00 00 00 50 AC 20 44 00 00 00 00.” In addition, when a user designates the starting point of the E-type dynamic field as a first byte of data “02 09,” and designates a condition in which data “00 00 00 00” at a point spaced apart from the starting point by at least 7 bytes is present, as the termination condition, the E-type dynamic field may be defined as “02 09 00 00 00 00 74 B3 09 00 01 05 06 77 00 00 00 00.”
A field having a size according to a user's request among the data field76is defined as an F-type dynamic field. Referring toFIG. 7F, a field “09 00 00 00 00 00 74 B3 B6 00” having a size of 10 bytes according to a user's request is defined as an F-type dynamic field.
In addition, the analysis unit20may generate a table based on the defined static field and the dynamic field.
FIG. 8is a drawing obtained by tabling components of a packet. A size (byte) of each component, an Endian scheme, a start index, or the like may be tabled.
FIG. 9is a drawing obtained by tabling a protocol ID that is a component of a header. A name of each protocol ID, a size (byte), a hexa value, or the like may be tabled.
FIG. 10is a drawing obtained by tabling a field list of a protocol ID that is a component of a header. A name of a protocol field, a type, a size (byte), or the like may be tabled. For example, a hexa value of CS_LOGIN_REQ is 02 00 00 00, and CS_LOGIN_REQ has Requeskey (unit, 4 byte), AccountName (char, 17 byte) and AccountPW (char, 17 byte) as fields.
In this manner, a game description language is generated based on a table generated based on the static field and the dynamic field in the analysis unit20, and a virtual user is generated based on this to thereby test a performance of the online game server.
As above, the system for analyzing the online game packet according to an embodiment of the present invention has been described in detail. Hereinafter, a method for analyzing an online game packet according to an embodiment of the present invention will be described in detail.
FIG. 3is a flowchart illustrating a method for analyzing an online game packet according to an embodiment of the present invention.
The method includes capturing a packet (step301), defining a structure of the captured packet (step303), reassembling the packet based on the defined structure of the packet (step305), classifying a data field included in the reassembled packet (step307), and defining the classified data field as the static field or the dynamic field (step309). The above-described method may be performed in the system for analyzing the online game packet.
In step301, a packet transmitted between the client terminal30and the game server40is captured, and a time when the packet is captured, a generated event, and a time and screen shot when the event is generated, in addition to the packet, are further included to thereby be captured. In step301, the packet, the time when the packet is captured, the generated event, and the time and screen shot when the event is generated which are captured in step301may be output through a display device (not shown).
Referring toFIG. 4, the packet, the time when the packet is captured, the generated event, and the time and screen shot when the event is generated which are captured in step301may be output as a screen shown inFIG. 4through the display device (not shown).
In addition, inFIG. 4, Time Stamp denotes the time when the packet is captured or when the event is generated, Event denotes a generated keyboard and mouse event, Packet Data denotes a packet, and Screen Shot denotes a screen shot.
In step303, the structure of the captured packet is defined, which includes classifying components included in the captured packet (step303a), displaying a size in the components of the packet (step303b), and combining session information with the packet (step303c).
In step303a, the packet captured in step301is analyzed and which components (header, trailer, data field, or the like) the header includes is analyzed. Referring toFIG. 5, the packet according to the result analyzed in step303amay include a packet size71, a protocol ID72, a checksum73, a field list74, and a dummy75, and the packet may be formed by a combination of these. In addition, which components the packet includes is analyzed, and then the components of the packet are classified according to the analyzed result. In this instance, the components of the packet may be classified using a coloring method, and the coloring denotes display of each component with mutually different colors.
Step303bis a step of displaying a size of each component of the packet classified in step303a, and for example, when a size of the packet size71is 3 bytes, a size of the protocol ID72is 3 bytes, a size of a checksum73is 3 bytes, and a size of the dummy75is 4 bytes, each component of the packet may be displayed as shown inFIG. 5. However, the field list74does not have a size, and has only an order.
In step303c, session information of the game server40is combined with the packet in which the size of each component is displayed in step303b, and the session information includes an IP and target port information. In addition, when the session information includes the packet checksum73and the dummy75, the starting position of the checksum73and the dummy75may be displayed. In this instance, the starting position denotes a starting position of an operation for determining a value of each of the checksum73and the dummy75.
In step305, the packet is reassembled based on the structure of the packet defined in step303. In this instance, the packet is reassembled based on the packet size71, and in step305, when one packet transmitted between the client terminal30and the game server40is separated to be transmitted, the transmitted packet is reassembled to be formed as one packet, and when a plurality of packets are combined as one, the combined packet is separated and reassembled to be formed as one packet.
In step307, the data field76of the packet reassembled in step305is classified using a length according to the number of bytes by performing coloring according to a size of the field. Referring toFIG. 6, the reassembled packet70includes Null Data (00 00), a packet size71, a protocol ID72, and a data field76. Here, the data field76of the uppermost packet70is configured with “28 E2 F5 05 01 00 00 00 00 90 9A 96 42 00 00 00 00 10 10 0D C3 B5 2B 37 3F,” “28 E2 F5 05 01 00 00 00 00 90 9A 96 42 00 00 00 00 10 10 0D C3 B5 2B 37 3F” is classified into “28 E2 F5 05,” “01 00 00 00,” “00 90,” “9A 96 42 00,” “00 00 00 10,” “10 0D C3 B5,” and “2B 37 3F” according to a field size, and each field classified as above may be subjected to coloring with mutually different colors.
In step309, the data field76is defined as at least one type according to structural characteristics. That is, the data field76may be defined as the static field and the dynamic field according to the structural characteristics, and the dynamic field may be defined as A, B, C, D, E, and F types.
The static field may have the same structure of the data field76while a structure of the data field76is not changed according to a progress situation of a game or a subject to transmit the packet.
FIG. 6is a drawing illustrating an example of a static field. The static field includes a character level field76ahaving a size of 4 bytes, a channel number field76bhaving a size of 4 bytes, a count field76chaving a size of 2 bytes, an X-coordinate field76dhaving a size of 4 bytes, a Y-coordinate field76ehaving a size of 4 bytes, a Z-coordinate field76fhaving a size of 4 bytes, and a speed field76ghaving a size of 4 bytes. In this manner, the data field76that has the same field structure without being changed according to the progress situation of the game or the subject to transmit the packet is defined as the static field.
When the reference field80defines the number of repetitions of a subsequent field list, the data field arranged according to the number of repetitions is defined as an A-type dynamic field. Referring toFIG. 7A, when the reference field80that defines the number of repetitions of the subsequent field list is “01,” the subsequent field list positioned behind the reference field80is repeated once to be positioned, and when the reference field80is “02,” the subsequent field list positioned behind the reference field80is repeated twice to be positioned.
When the reference field80defines the number of bytes to be converted into bits, the data field arranged according to the converted bits based on the number of bytes is defined as a B-type dynamic field. Referring toFIG. 7B, when the reference field80that defines the number of bytes to be converted into bits is “02 00,” “00000010 00000000” may be obtained by converting “02 00” into bits, and at this time, “1” is one, and therefore one field having a size of 4 bytes (size defined by a user) is positioned behind the reference field80. When the reference field80that defines the number of bytes to be converted into bits is “09 00,” “00001001 00000000” may be obtained by converting “09 00” into bits, and at this time, “1” is two, and therefore two fields having sizes of 4 bytes (size defined by a user) are positioned behind the reference field80. In addition, when “04 00” that is the reference field80is converted into bits, “1” is one, and therefore one field having a size of 4 bytes is positioned behind the reference field80, and when “07 00” that is the reference field80is converted into bits, “1” is three, and therefore three fields having sizes of 4 bytes (size defined by a user) are positioned behind the reference field80.
When the reference field80defines a size of the subsequent field, the data field arranged according to the size of the subsequent field is defined as a C-type dynamic field. Referring toFIG. 7C, when the reference field80that defines the size of the subsequent field is “05,” the subsequent field positioned behind the reference field80has a size of 5 bytes.
When the reference field80defines a predetermined parameter indicating an arrangement structure of the subsequent field, the data field arranged according to the predetermined parameter is defined as a D-type dynamic field. Referring toFIG. 7D, when the reference field80that defines the predetermined parameter indicating the arrangement structure of the subsequent field is “01,” the subsequent field positioned behind the reference field80is formed as two fields (00 00 00 00, C8 45 2D 44) having sizes of 4 bytes, one field (00) having a size of 1 byte, one field (00 00 00 00) having a size of 4 bytes, one field (9E) having a size of 1 byte, and one field (8D C2 00 00) having a size of 4 bytes.
In addition, when the reference field80is “02,” the subsequent field positioned behind the reference field80is formed as five fields (00 00, 00 00, A0 36, 0F 43, 00 00) having sizes of 2 bytes.
A field having a termination condition according to a user's request among the data fields76is defined as an E-type dynamic field. In this instance, when a user designates a starting point and a termination condition of the E-type dynamic field, a corresponding data field76is defined as an E-type dynamic field. Referring toFIG. 7E, when a user designates the starting point of the E-type dynamic field as a first byte of data “00 00 00,” and designates a condition in which data “00 00 00 00” at a point spaced apart from the starting point by at least 7 bytes is present, as the termination condition, the E-type dynamic field may be defined as “00 00 00 50 AC 20 44 00 00 00 00.” In addition, when a user designates the starting point of the E-type dynamic field as a first byte of data “02 09,” and designates a condition in which data “00 00 00 00” at a point spaced apart from the starting point by at least 7 bytes is present, as the termination condition, the E-type dynamic field may be defined as “02 09 00 00 00 00 74 B3 09 00 01 05 06 77 00 00 00 00.”
A field having a size according to a user's request among the data field76is defined as an F-type dynamic field. Referring toFIG. 7F, a field “09 00 00 00 00 00 74 B3 B6 00” having a size of 10 bytes according to a user's request is defined as an F-type dynamic field.
In addition, the method for analyzing the online game packet may further include generating a table based on the defined static field and dynamic field.
FIG. 8is a drawing obtained by tabling components of a packet. A size (byte) of each component, an Endian scheme, a start index, or the like may be tabled.
FIG. 9is a drawing obtained by tabling a protocol ID that is a component of a header.
A name of each protocol ID, a size (byte), a hexa value, or the like may be tabled.
FIG. 10is a drawing obtained by tabling a field list of a protocol ID that is a component of a header. A name of a protocol field, a type, a size (byte), or the like may be tabled. For example, a hexa value of CS_LOGIN_REQ is 02 00 00 00, and CS_LOGIN_REQ has Requeskey (unit, 4 byte), AccountName (char, 17 byte) and AccountPW (char, 17 byte) as fields.
In this manner, a game description language is generated based on a table generated based on the static field and the dynamic field in the analysis unit20, and a virtual user is generated based on this to thereby test a performance of the online game server.
As described above, according to the present embodiments, the data field of the captured packet may be defined for each type according to the structural characteristics, and therefore the packet may be automatically analyzed. That is, the packet may be automatically analyzed using the data field defined for each type according to the structural characteristics, and thereby required time may be significantly reduced compared to when an operator manually analyzes the captured packet, and a time required for testing the performance of the online game server may be significantly reduced.
While the example embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the invention.
Claims
- A system for analyzing an online game packet comprising: a capturing unit that captures a packet transmitted between a client terminal and a game server;and an analysis unit that analyzes the packet captured by the capturing unit, and defines, according to an analyzed result, a data field included in the packet as a static field having the same field structure or a dynamic field having a field structure according to a reference field defining an arrangement rule of a field or a field structure according to a user's request, wherein the analysis unit further includes: a packet definition unit that defines a structure of the captured packet, a reassembling unit that reassembles the packet based on the structure defined by the packet definition unit, and a data field definition unit that classifies the data field included in the packet reassembled by the reassembling unit using a length according to the number of bytes, and defines the classified data field as the static field or the dynamic field, and wherein the data field definition unit defines, when the reference field defines the number of repetitions of a subsequent field, the data field arranged according to the number of repetitions as an A-type dynamic field, defines, when the reference field defines the number of bytes to be converted into bits, the data field arranged according to the converted bits based on the number of bytes as a B-type dynamic field, defines, when the reference field defines a size of the subsequent field, the data field arranged according to the defined size of the subsequent field as a C-type dynamic field, defines, when the reference field defines a predetermined parameter indicating an arrangement structure of the subsequent field, the data field arranged according to the defined predetermined parameter as a D-type dynamic field, defines a field having a termination condition according to a user's request among the data fields as an E-type dynamic field, and defines a field having a size according to the user's request among the data fields as an F-type dynamic field.
- The system for analyzing the online game packet according to claim 1 , wherein the capturing unit further captures a captured time, a generated event, and a time and screen shot when the event is generated, in addition to the packet.
- The system for analyzing the online game packet according to claim 1 , wherein the packet definition unit classifies components included in the captured packet, displays a size in the classified components of the packet, and combines session information of the game server with the packet in which the size is displayed in the components.
- A method for analyzing an online game packet performed by a system for analyzing an online game packet, comprising: capturing a packet transmitted between a client terminal and a game server;defining a structure of the captured packet;reassembling the packet based on the defined structure of the packet;classifying a data field included in the reassembled packet using a length according to the number of bytes;and defining the classified data field as a static field having the same field structure or a dynamic field having a field structure according to a reference field defining an arrangement rule of a field or a field structure according to a user's request, wherein the defining of the classified data field includes defining, when the reference field defines the number of repetitions of a subsequent field, the data field arranged according to the number of repetitions as an A-type dynamic field, defining, when the reference field defines the number of bytes to be converted into bits, the data field arranged according to the converted bits based on the number of bytes as a B-type dynamic field, defining, when the reference field defines a size of the subsequent field, the data field arranged according to the defined size of the subsequent field as a C-type dynamic field, defining, when the reference field defines a predetermined parameter indicating an arrangement structure of the subsequent field, the data field arranged according to the defined predetermined parameter as a D-type dynamic field, defining a field having a termination condition according to the user's request among the data fields as an E-type dynamic field, and defining a field having a size according to the user's request among the data fields as an F-type dynamic field.
- The method for analyzing the online game packet according to claim 4 , wherein the capturing further comprises capturing a captured time, a generated event, and a time and screen shot when the event is generated.
- The method for analyzing the online game packet according to claim 4 , wherein the defining further includes: classifying components of the captured packet, displaying a size in the classified components of the packet, and combining session information of the game server with the packet in which the size is displayed in the components.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.