COMMUNICATION DEVICE, COMMUNICATION METHOD, RECORDING MEDIUM STORING COMMUNICATION PROGRAM
20210377161 · 2021-12-02
Assignee
Inventors
Cpc classification
H04L47/2441
ELECTRICITY
International classification
Abstract
A communication device is provided with: a feature information generation unit that receives a packet transmitted from a piece of equipment that performs packet communication, and consequently generates information representing a feature of the packet; a classification unit that classifies the packet into a packet group on the basis of the information representing the feature and prescribed classification criteria; an extraction unit that extracts one or more pieces of character information from the packet on the basis of prescribed extraction criteria; and an identification information generation unit that generates identification information capable of identifying the piece of equipment that transmitted the packet, such generation executed on the basis of, from among pieces of character information extracted from one or more packets belonging to the same packet group, character information in which the number of patterns pertaining to the structure of the character information satisfies a condition.
Claims
1. A communication device comprising: a feature information generation unit configured to generate, by receiving a packet transmitted from equipment that performs packet communication, information indicating a feature of the packet; a classification unit configured to classify the packet into a packet group, based on information indicating the feature, and predetermined classification criteria; an extraction unit configured to extract one or more pieces of character information from the packet, based on predetermined extraction criteria; and an identification information generation unit configured to generate identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
2. The communication device according to claim 1, wherein the feature information generation unit generates information indicating the feature, which represents at least one of a size of the packet, a connection time of a session to which the packet belongs, a number of packets belonging to the session, a transmission interval of the packet, and a reception time of the packet.
3. The communication device according to claim 1 wherein the classification criteria indicate classifying the packet into the packet group, based on a degree of similarity of information indicating the feature.
4. The communication device according to claim 1 wherein the feature information generation unit generates information indicating the feature, pertaining to the specific packet having a specific network attribute.
5. The communication device according to claim 1 wherein the feature information generation unit generates information indicating the feature pertaining to a plurality of the packets, by performing statistical calculation with respect to a feature amount of a plurality of the packets.
6. The communication device according to claim 1 wherein the extraction criteria indicate extracting, as the character information, a character string indicating a header or a payload of a communication protocol of an application layer included in the packet.
7. The communication device according to claim 6, wherein the extraction criteria indicate extracting the character string divided by a specific character, or the character string divided by a change in a type of a character.
8. The communication device according to claim 1 wherein the identification information generation unit generates the identification information, based on character information having the largest number of patterns among the character information extracted from the packet.
9. The communication device according to claim 1 wherein the identification information generation unit generates the identification information pertaining to each of a plurality of the packets, based on character information located at a position where an order from character information located at a leading position is same among the character information extracted from each of a plurality of the packets.
10. The communication device according to claim 1 wherein the identification information generation unit displays, on a display device, the packet and the identification information pertaining to the packet, in association with each other.
11. The communication device according to claim 1 further comprising a control unit configured to control transmission processing of the packet, based on the identification information pertaining to the packet received from the equipment.
12. The communication device according to claim 11, wherein the control unit performs, based on transmission control information indicating a content of the transmission processing for the packet transmitted from the equipment to be identified by the identification information, at least one of selecting a route along which the packet is transmitted, and discarding the packet transmitted from the equipment.
13. (canceled)
14. A communication method comprising, by an information processing device: generating, by receiving a packet transmitted from equipment that performs packet communication, information indicating a feature of the packet; classifying the packet into a packet group, based on information indicating the feature, and predetermined classification criteria; extracting one or more pieces of character information from the packet, based on predetermined extraction criteria; and generating identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
15. A non-transitory recording medium storing a communication program for causing a computer to execute: feature information generation processing of generating, by receiving a packet transmitted from equipment that performs packet communication, information indicating a feature of the packet; classification processing of classifying the packet into a packet group, based on information indicating the feature, and predetermined classification criteria; extraction processing of extracting one or more pieces of character information from the packet, based on predetermined extraction criteria; and identification information generation processing of generating identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
16. The communication device according to claim 2, wherein the classification criteria indicate classifying the packet into the packet group, based on a degree of similarity of information indicating the feature.
17. The communication device according to claim 2, wherein the feature information generation unit generates information indicating the feature, pertaining to the specific packet having a specific network attribute.
18. The communication device according to claim 3, wherein the feature information generation unit generates information indicating the feature, pertaining to the specific packet having a specific network attribute.
19. The communication device according to claim 2, wherein the feature information generation unit generates information indicating the feature pertaining to a plurality of the packets, by performing statistical calculation with respect to a feature amount of a plurality of the packets.
20. The communication device according to claim 3, wherein the feature information generation unit generates information indicating the feature pertaining to a plurality of the packets, by performing statistical calculation with respect to a feature amount of a plurality of the packets.
21. The communication device according to claim 4, wherein the feature information generation unit generates information indicating the feature pertaining to a plurality of the packets, by performing statistical calculation with respect to a feature amount of a plurality of the packets.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
EXAMPLE EMBODIMENT
[0036] In the following, example embodiments according to the present invention are described with reference to the drawings.
First Example Embodiment
[0037]
[0038] The IoT device 23 is, for example, an inexpensive sensor for measuring a physical amount (e.g. a temperature, a humidity, and the like) pertaining to a surrounding environment of a place where the sensor is installed, or a physical amount (e.g., a temperature, an acceleration in traveling, and the like) pertaining to a measurement target. Alternatively, the IoT device 23 may measure a state of an own device. It is assumed that the IoT device 23 does not have a function of directly communicating with equipment connected to a communication network such as the Internet, and is communicable with the equipment via the IoT gateway 22. Specifically, the IoT device 23 transmits, to the server device 21 via the IoT gateway 22, a packet (data) indicating a result of measuring the above-described physical amount.
[0039] The IoT device 23 communicates with the IoT gateway 22 via Bluetooth low energy (BLE (Bluetooth is a registered trademark)), for example. Alternatively, the IoT device 23 may communicate with the IoT gateway 22 via wireless communication of another standard such as ZigBee (registered trademark), or wired communication, for example.
[0040] The IoT gateway 22 communicates with the communication device 10 via a public mobile phone network such as long term evolution (LTE) (registered trademark), for example. Alternatively, the IoT gateway 22 may communicate with the communication device 10 via a wireless local area network (LAN) such as Wi-Fi (registered trademark), for example.
[0041] The server device 21 is an information processing device that provides various services by utilizing a result of measuring the above-described physical amount received from the IoT device 23. The communication device 10 is a device that relays packet communication with the server device 21 via the IoT gateway 22 by the IoT device 23. The communication device 10 may be a device that is subordinate to (mounted in) an existing relay device that relays communication with the server device 21 or communication between the server device 21 and the IoT gateway 22.
[0042] The communication device 10 according to the present example embodiment includes a feature information generation unit 11, a classification unit 12, an extraction unit 13, an identification information generation unit 14, and a packet communication unit 15.
[0043] The packet communication unit 15 relays a packet to be transmitted to the server device 21 via the IoT gateway 22 by the IoT device 23. The packet communication unit 15 stores a packet received from the IoT gateway 22 in a memory such as a random access memory (RAM) 903 included in the communication device 10, which is described later with reference to
[0044] The feature information generation unit 11 calculates (generates) a feature amount 110 (feature information) of a packet, based on a situation when the packet communication unit 15 receives the packet, a mode of the received packet, and the like. For example, the feature amount 110 is a size of a packet received by the packet communication unit 15. The feature information generation unit 11 can calculate a size of a packet, based on a memory capacity occupied by the packet stored in a memory, header information pertaining to a communication protocol such as a transmission control protocol (TCP), and the like.
[0045] Alternatively, the feature information generation unit 11 may calculate the feature amount 110 pertaining only to a specific packet having a specific network attribute. The network attribute represents prescribed information such as an IP address, a port number, or a communication protocol, which is necessary for equipment connected to a communication network to transmit and receive a packet. The feature information generation unit 11 may calculate the feature amount 110 pertaining only to a specific packet transmitted by using a user datagram protocol (UDP), or calculate the feature amount 110 pertaining only to a specific packet for establishing a TCP session.
[0046] The feature information generation unit 11 may calculate, as the feature amount 110, a difference between a time when the packet is received and a time when a packet preceding the packet is received, or a connection time (connection period) of a (TCP) session to which the packet belongs, or the number of packets belonging to the session, or a transmission interval of the packet, or a reception time of the packet, or the like. Alternatively, the feature information generation unit 11 may set, as the feature amount 110 pertaining to a plurality of packets, a result of performing statistical calculation (such as an average value or a distribution) with respect to the feature amount 110 pertaining to the plurality of packets. The feature information generation unit 11 generates a packet management table 111 indicating the calculated feature amount 110, and stores the generated packet management table 111 in a memory such as the RAM 903.
[0047]
[0048] According to the packet management table 111 exemplified in
[0049] The classification unit 12 classifies a packet received by the packet communication unit 15 into a packet group (group), based on the feature amount 110 indicated by the packet management table 111 generated by the feature information generation unit 11, and predetermined classification criteria 120. It is assumed that the classification criteria 120 are stored in advance in a memory such as the RAM 903, for example, by a manager or the like of the communication device 10, for example. It is assumed that the packet group is, for example, a set of packets in which the feature amount 110 is the same or similar (specifically, classified based on a degree of similarity pertaining to the feature amount 110). It is assumed that the classification unit 12 according to the present example embodiment allocates, to an individual packet group, a uniquely identifiable identifier (e.g. a combination of a name indicating a type of a feature amount, and a serial number).
[0050]
[0051] The classification unit 12 generates a packet management table 121 by incorporating, in the packet management table 111 generated by the feature information generation unit 11, a result acquired by classifying a packet received by the packet communication unit 15 into a packet group, based on the classification criteria 120.
[0052]
[0053] The extraction unit 13 extracts one or more character strings (character information) from each packet, based on the packet management table 121 generated by the classification unit 12, and predetermined extraction criteria 130. The character string is a string constituted of characters to be specified by a character code. It is assumed that the extraction criteria 130 are stored in advance in a memory such as the RAM 903, for example, by an administrator or the like of the communication device 10, for example.
[0054] The extraction unit 13 extracts a character string (character information) included in a packet by performing the following two pieces of processing in order, for example. Specifically, the extraction unit 13 determines, as a first piece of processing, a communication protocol pertaining to transmission and reception of a packet, based on a port number pertaining to the packet. Then, the extraction unit 13 extracts, as a second piece of processing, a character string from a specific range in a header or a payload of the packet according to the determined communication protocol.
[0055] Pertaining to the above-described first piece of processing, the extraction unit 13 determines a communication protocol, in accordance with regulations defined by the Internet Assigned Numbers Authority (IANA) being an organization that manages port numbers. Specifically, for example, when the port number pertaining to a packet is “80”, the extraction unit 13 determines that a communication protocol of an application layer in an Open Systems Interconnection (OSI) reference model is hyper text transfer protocol (HTTP), and when the port number is “1883”, the extraction unit 13 determines that the communication protocol is message queueing telemetry transport (MQQT).
[0056] Next, the above-described second piece of processing based on the extraction criteria 130, by the extraction unit 13 is described with reference to
[0057] In the example illustrated in
[0058] First, the extraction unit 13 recognizes “/” and “_” included in the URI, as a character indicating a boundary at the time of dividing and extracting a character string, based on the extraction criteria 130. Thus, as illustrated as a character information primary extraction result in
[0059] Next, the extraction unit 13 further divides the character strings at a position where a type of a character changes. The type of a character is, for example, an alphabet, a number, a symbol, a Chinese character, and the like. In the example illustrated in
[0060] The extraction unit 13 further calculates an order in which character strings are extracted. For example, as exemplified in
[0061] The extraction unit 13 generates a packet management table 131 by incorporating, in the packet management table 121 generated by the classification unit 12, a result acquired by extracting, from a packet received by the packet communication unit 15, character strings (character information), based on the extraction criteria 130 as described above.
[0062]
[0063] The identification information generation unit 14 specifies a character string in which the number of patterns (number of types) pertaining to a structure of a character string satisfies a certain condition among character strings (character information) extracted from each packet belonging to a same packet group, based on the packet management table 131 generated by the extraction unit 13. For example, when both of character strings respectively extracted from two packets are a same character string “ABC”, the number of patterns becomes “1”; and when character strings respectively extracted from the two packets are different character strings “ABC” and “ABD”, the number of patterns becomes “2”. Then, the identification information generation unit 14 generates identification information 140 by which the IoT device 23 that has transmitted a packet can be identified, based on the specified character string. The identification information generation unit 14 according to the present example embodiment sets that having the largest number of patterns is the certain condition, for example. Specifically, the identification information generation unit 14 specifies a character string in which the number of unique character strings (character strings distinguishable from one another) is the largest among a plurality of extracted character strings.
[0064] In the packet management table 131 exemplified in
[0065]
[0066] In
[0067] In
[0068] In
[0069] Thus, in the example illustrated in
[0070] According to the packet management table 131 exemplified in
[0071] The identification information generation unit 14 displays, on the display device 20 illustrated in
[0072] Next, an operation (processing) of the communication device 10 according to the present example embodiment is described in detail with reference to a flowchart in
[0073] The packet communication unit 15 receives a packet transmitted from the IoT device 23 to the server device 21, transfers the received packet to the server device 21, and stores the received packet in a memory of an own device (Step S101). The feature information generation unit 11 calculates the feature amount 110 of the packet, based on a situation when the packet communication unit 15 receives the packet, a mode of the received packet, and the like, and generates the packet management table 111 indicating a result of the calculation (Step S102).
[0074] The classification unit 12 classifies the packet into a packet group, based on the packet management table 111 and the classification criteria 120, and generates the packet management table 121 by incorporating a result of the classification in the packet management table 111 (Step S103). The extraction unit 13 extracts one or more character strings from one or more packets, based on the packet management table 121 and the extraction criteria 130, and generates the packet management table 131 by incorporating a result of the extraction in the packet management table 121 (Step S104).
[0075] The identification information generation unit 14 specifies a character string having the largest number of patterns, among character strings indicated in the packet management table 131 and extracted from each packet belonging to a same packet group; and generates the identification information 140 by which the IoT device 23 that has transmitted the packet can be identified, based on the specified character string (Step S105). The identification information generation unit 14 displays, on the display device 20, the packet and the identification information pertaining to the packet, in association with each other (Step S106), and the entire processing is finished.
[0076] Even when it is unclear in which part of a packet, identification information by which equipment being a transmission source of the packet can be identified is present, the communication device 10 according to the present example embodiment is capable of extracting the identification information with high accuracy. A reason for this is that the communication device 10 generates information indicating a feature of a packet, classifies the packet into a packet group, based on information indicating the feature, and generates identification information by which equipment being a transmission source of the packet can be identified, based on character information in which the number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from a packet belonging to a same packet group.
[0077] In the following, an advantageous effect to be achieved by the communication device 10 according to the present example embodiment is described in detail.
[0078] Generally, since a large number of IoT devices in an IoT system are disposed on an edge side, many of the devices are inexpensive with a less number of functions. For example, there are many IoT devices in which a function of directly communicating with a communication network such as the Internet is not provided. In such an IoT system, since an IP address or an MAC address given to a packet to be transmitted to a server device via an IoT gateway uses an address pertaining to the IoT gateway, it is not possible to use the address as identification information for identifying the IoT device itself. Generally, a packet transmitted from an IoT device is supposed to include identification information by which the IoT device being a transmission source can be identified. However, it is often the case that specifications of a structure of a packet are not published, or the structure is not formally specified. Therefore, a piece of communication equipment connected to the Internet cannot recognize in which part of a packet transmitted from an IoT device, the identification information is present. There is a problem that it is difficult to secure, for example, security of an IoT system and the like, when it is not possible to recognize the identification information.
[0079] In view of the above-described problem, the communication device 10 according to the present example embodiment includes the feature information generation unit 11, the classification unit 12, the extraction unit 13, and the identification information generation unit 14, and is operated as described above with reference to
[0080] Herein, an advantageous effect by comparing the number of patterns pertaining to a character string extracted from a packet belonging to a same packet group is described in more detail with reference to
[0081] As exemplified in
[0082] In
[0083] Therefore, when the identification information 140 is generated based on a character string having the smallest character information extraction order (earliest order) among character strings in which the number of patterns satisfies a condition (being largest), the identification information 140 is not generated based on “SensorA” or “SensorB”, which is originally expected as the identification information 140, but is generated based on “Temperature” or “Acceleration”, and accuracy as the identification information 140 is lowered.
[0084] Generally, a correlation between a type of information to be collected (sensed) by the IoT device 23 and the feature amount 110 of a packet is high. For example, pertaining to two of the IoT devices 23 that collect a same physical amount (e.g. temperature information), a feature (such as a packet size or a transmission cycle) of packets transmitted from the IoT devices 23 are similar to each other. On the other hand, pertaining to two of the IoT devices 23 that collect different physical amounts (e.g. temperature information and acceleration information), a feature of packets transmitted from the IoT devices 23 are greatly different from each other. The communication device 10 classifies in such a way that packets transmitted from functionally similar ones of the IoT devices 23 belong to a same packet group, by utilizing the correlation between a type of information to be collected by the IoT device 23 and the feature amount 110 of a packet.
[0085] The communication device 10 according to the present example embodiment avoids, at the time of comparing the number of patterns of a character string extracted from a packet, generating the identification information 140, based on a character string (e.g. a character string indicating a type of a collected physical amount, or the like) other than a specific character string that is originally expected as the identification information 140, as described in the above-described example, by narrowing down packets for comparison to packets belonging to a same packet group (specifically, having a similar feature). Thus, the communication device 10 according to the present example embodiment is capable of extracting identification information with high accuracy, even when it is unclear in which part of a packet, the identification information by which equipment being a transmission source of the packet can be identified is present.
[0086] A condition at the time of generating the identification information 140 by the identification information generation unit 14 according to the present example embodiment is not limited to a condition that the identification information is based on a character string having the largest number of patterns among character strings extracted from a packet. For example, when it is not required to individually identify a plurality of certain IoT devices 23 (high resolution pertaining to identification is not required), or the like, the identification information generation unit 14 may employ, as the condition, a condition that the number of patterns is a threshold value or more, and the like.
[0087] The extraction criteria 130 according to the present example embodiment indicate extracting, as character information, a character string indicating a header or a payload of a protocol in an application layer included in a packet. Specifically, since the communication device 10 according to the present example embodiment uses, as the extraction criteria 130, existing specifications pertaining to a packet transmitted from the IoT device 23, it is possible to suppress a cost necessary for mounting the communication device 10 in an existing system.
[0088] Since the extraction criteria 130 according to the present example embodiment are simple criteria that a character string divided by a specific character or a character string divided by a change in a type of a character is extracted, an administrator of the communication device 10 can easily generate the extraction criteria 130.
[0089] The identification information generation unit 14 according to the present example embodiment generates the identification information 140 pertaining to each of a plurality of packets, based on a character string located at a position where the order from a character string located at a leading position is the same among character strings extracted from each of the plurality of packets. Thus, the communication device 10 according to the present example embodiment is capable of generating the identification information 140 in such a way that pieces of the identification information 140 are consistent with one another among a plurality of the IoT devices 23.
[0090] The identification information generation unit 14 according to the present example embodiment displays, on the display device 20, a packet and the identification information 140 pertaining to the packet, in association with each other. Thus, the communication device 10 according to the present example embodiment allows an administrator of the communication device 10 to easily confirm the identification information 140.
Modification Example of First Example Embodiment
[0091]
[0092] The communication device 10A according to the present modification example includes a feature information generation unit 11, a classification unit 12, an extraction unit 13, an identification information generation unit 14, and a packet communication unit 15A. Specifically, the communication device 10A according to the present modification example is different from the communication device 10 according to the above-described first example embodiment in a function of the packet communication unit 15A.
[0093] The packet communication unit 15A includes a control unit 150A. The control unit 150A temporarily suspends transfer of a received packet to the server device 21-i (where i is any integer from 1 to n) being a transmission destination, and stores the packet in a memory of an own device. The control unit 150A controls transmission of the packet stored in the memory of the own device, based on identification information 140 pertaining to the packet received from the IoT device 23 via the IoT gateway 22, and transmission control information 151A.
[0094] It is assumed that the transmission control information 151A according to the present example embodiment is a whitelist indicating whether the IoT device 23 being a transmission source of a packet to be identified by the identification information 140 is a safe device that is confirmed in advance. It is assumed that the transmission control information 151A indicates a route (server device 21-i being a transmission destination) and the like along which a packet is transmitted from the communication device 10A, pertaining to the packet in which the identification information 140 is registered. It is also assumed that the transmission control information 151A indicates that discarding a packet, and the like, pertaining to the packet in which the identification information 140 is not registered.
[0095]
[0096] According to the transmission control information 151A exemplified in
[0097] Next, an operation (processing) of the communication device 10A according to the present modification example is described in detail with reference to a flowchart in
[0098] The packet communication unit 15A receives a packet transmitted from the IoT device 23 to the server device 21-i , temporarily suspends transfer of the received packet to the server device 21, and stores the packet in a memory of an own device (Step S201). The communication device 10A performs processing from Step S102 to Step S106 illustrated in
[0099] The control unit 150A in the packet communication unit 15A confirms whether the identification information 140 pertaining to the received packet is registered in the transmission control information 151A (Step S203).
[0100] When the identification information 140 is registered in the transmission control information 151A (Yes in Step S204), the control unit 150A transfers, to the server device 21-i being a transmission destination indicated by information included in the packet, the packet stored in the memory of the own device, and transmits a copy of the packet to the server device 21-j indicated by the transmission control information 151A (Step S205), and the entire processing is finished.
[0101] When the identification information 140 is not registered in the transmission control information 151A (No in Step S204), the control unit 150A does not transfer, to the server device 21-i being the transmission destination indicated by the information included in the packet, and transmits the packet to the server device 21-n (Step S205), and the entire processing is finished.
[0102] Even when it is unclear in which part of a packet, identification information by which equipment being a transmission source of the packet can be identified is present, the communication device 10A according to the present example embodiment is capable of extracting the identification information with high accuracy. A reason for this is as described in the first example embodiment.
[0103] The control unit 150A according to the present modification example performs, based on the transmission control information 151A indicating a content of transmission processing for a packet transmitted from the IoT device 23 to be identified by the identification information 140, at least either one of selecting a route along which the packet is transmitted or discarding the transmitted packet. Specifically, since the communication device 10A according to the present modification example is capable of controlling packet transfer, based on a whitelist pertaining to the identification information 140, it is possible to improve security level of an IoT system.
Second Example Embodiment
[0104]
[0105] The communication device 30 according to the present example embodiment includes a feature information generation unit 31, a classification unit 32, an extraction unit 33, and an identification information generation unit 34.
[0106] The feature information generation unit 31 generates, by receiving a packet 400 transmitted from equipment 40 that performs packet communication, information 310 indicating a feature of the packet 400.
[0107] The classification unit 32 classifies the packet 400 into a packet group, based on the information 310 indicating a feature, and predetermined classification criteria 320.
[0108] The extraction unit 33 extracts one or more pieces of character information from the packet 400, based on predetermined extraction criteria 330.
[0109] The identification information generation unit 34 generates identification information 340 by which the equipment 40 that has transmitted the packet 400 can be identified, based on character information in which the number of cases where the character information of packets are different from each other satisfies a condition among character information extracted from one or more packets 400 belonging to a same packet group.
[0110] Even when it is unclear in which part of a packet, identification information by which equipment being a transmission source of the packet can be identified is present, the communication device 30 according to the present example embodiment is capable of extracting the identification information with high accuracy. A reason for this is that the communication device 30 generates the information 310 indicating a feature of the packet 400, classifies the packet 400 into a packet group, based on the information 310 indicating the feature, and generates the identification information 340 by which the equipment 40 being a transmission source of the packet can be identified, based on character information in which the number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the packet 400 belonging to a same packet group.
[0111] <Hardware Configuration Example>
[0112] In the above-described example embodiments, each unit in the communication devices illustrated in
[0113] The feature information generation units 11 and 31,
[0114] the classification units 12 and 32,
[0115] the extraction units 13 and 33,
[0116] the identification information generation units 14 and 34, and
[0117] the control unit 150A.
[0118] However, classification of the units illustrated in these drawings is a configuration for convenience of explanation, and when the units are actually mounted, various configurations can be proposed. One example of a hardware environment in this case is described with reference to
[0119]
[0120] The information processing device 900 illustrated in
[0121] A central processing unit (CPU) 901,
[0122] a read only memory (ROM) 902,
[0123] a random access memory (RAM) 903,
[0124] a hard disk (storage device) 904,
[0125] a communication interface 905,
[0126] a bus 906 (communication line),
[0127] a reader/writer 908 being capable of reading and writing data stored in a recording medium 907 such as a compact disc read only memory (CD-ROM), and
[0128] an input/output interface 909 such as a monitor, a speaker, and a keyboard.
[0129] Specifically, the information processing device 900 including the above-described constituent elements is a general computer to which these components are connected via the bus 906. The information processing device 900 may include a plurality of CPUs 901, or may include a CPU 901 configured by a multiple core.
[0130] The present invention described by the above-described example embodiments as an example supplies, to the information processing device 900 illustrated in
[0131] In the above-described case, nowadays, a general procedure can be employed as a method of supplying the computer program to the hardware. The procedure is, for example, a method of installing the computer program in the device via various recording media 907 such as a CD-ROM, a method of downloading the computer program from an outside via a communication line such as the Internet, or the like. In such a case, the present invention can be regarded as being configured by codes constituting the computer program or the recording medium 907 storing the codes.
[0132] While the invention has been particularly shown and described with reference to exemplary embodiments thereof, the invention is not limited to these embodiments. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirt and scope of the present invention as defined by the claims.
[0133] A part or all of the above-described example embodiments may also be described as the following supplementary notes. However, the present invention exemplarily described by the above-described example embodiments is not limited to the following.
(Supplementary Note 1)
[0134] A communication device including:
[0135] a feature information generation means for generating, by receiving a packet transmitted from equipment that performs packet communication, information indicating a feature of the packet;
[0136] a classification mans for classifying the packet into a packet group, based on information indicating the feature, and predetermined classification criteria;
[0137] an extraction means for extracting one or more pieces of character information from the packet, based on predetermined extraction criteria; and
[0138] an identification information generation means for generating identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
(Supplementary Note 2)
[0139] The communication device according to supplementary note 1, wherein
[0140] the feature information generation means generates information indicating the feature, which represents at least one of a size of the packet, a connection time of a session to which the packet belongs, a number of packets belonging to the session, a transmission interval of the packet, and a reception time of the packet.
(Supplementary Note 3)
[0141] The communication device according to supplementary note 1 or 2, wherein
[0142] the classification criteria indicate classifying the packet into the packet group, based on a degree of similarity of information indicating the feature.
(Supplementary Note 4)
[0143] The communication device according to any one of supplementary notes 1 to 3, wherein
[0144] the feature information generation means generates information indicating the feature, pertaining to the specific packet having a specific network attribute.
(Supplementary Note 5)
[0145] The communication device according to any one of supplementary notes 1 to 4, wherein
[0146] the feature information generation means generates information indicating the feature pertaining to a plurality of the packets, by performing statistical calculation with respect to a feature amount of a plurality of the packets.
(Supplementary Note 6)
[0147] The communication device according to any one of supplementary notes 1 to 5, wherein
[0148] the extraction criteria indicate extracting, as the character information, a character string indicating a header or a payload of a communication protocol of an application layer included in the packet.
(Supplementary Note 7)
[0149] The communication device according to supplementary note 6, wherein
[0150] the extraction criteria indicate extracting the character string divided by a specific character, or the character string divided by a change in a type of a character.
(Supplementary Note 8)
[0151] The communication device according to any one of supplementary notes 1 to 7, wherein
[0152] the identification information generation means generates the identification information, based on character information having the largest number of patterns among the character information extracted from the packet.
(Supplementary Note 9)
[0153] The communication device according to any one of supplementary notes 1 to 8, wherein
[0154] the identification information generation means generates the identification information pertaining to each of a plurality of the packets, based on character information located at a position where an order from character information located at a leading position is same among the character information extracted from each of a plurality of the packets.
(Supplementary Note 10)
[0155] The communication device according to any one of supplementary notes 1 to 9, wherein
[0156] the identification information generation means displays, on a display device, the packet and the identification information pertaining to the packet, in association with each other.
(Supplementary Note 11)
[0157] The communication device according to any one of supplementary notes 1 to 10, further including
[0158] a control means for controlling transmission processing of the packet, based on the identification information pertaining to the packet received from the equipment.
(Supplementary Note 12)
[0159] The communication device according to supplementary note 11, wherein
[0160] the control means performs, based on transmission control information indicating a content of the transmission processing for the packet transmitted from the equipment to be identified by the identification information, at least one of selecting a route along which the packet is transmitted, and discarding the packet transmitted from the equipment.
(Supplementary Note 13)
[0161] A communication system including:
[0162] the communication device according to any one of supplementary notes 1 to 12; and the equipment.
(Supplementary Note 14)
[0163] A communication method including:
[0164] by an information processing device,
[0165] generating, by receiving a packet transmitted from equipment that performs packet communication information indicating a feature of the packet;
[0166] classifying the packet into a packet group, based on information indicating the feature, and predetermined classification criteria;
[0167] extracting one or more pieces of character information from the packet, based on predetermined extraction criteria; and
[0168] generating identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
(Supplementary Note 15)
[0169] A recording medium storing a communication program for causing a computer to execute:
[0170] feature information generation processing of generating, by receiving a packet transmitted from equipment that performs packet communication, information indicating a feature of the packet;
[0171] classification processing of classifying the packet into a packet group, based on information indicating the feature, and predetermined classification criteria;
[0172] extraction processing of extracting one or more pieces of character information from the packet, based on predetermined extraction criteria; and
[0173] identification information generation processing of generating identification information by which the equipment that transmits the packet can be identified, based on character information in which a number of patterns pertaining to a structure of the character information satisfies a condition among the character information extracted from the one or more packets belonging to the same packet group.
[0174] This application is based upon and claims the benefit of priority from Japanese patent application No. 2018-147726, filed on Aug. 6, 2018, the disclosure of which is incorporated herein in its entirety by reference.
REFERENCE SIGNS LIST
[0175] 1 Communication system [0176] 1A Communication system [0177] 10 Communication device [0178] 10A Communication device [0179] 11 Feature information generation unit [0180] 110 Feature amount [0181] 111 Packet management table [0182] 12 Classification unit [0183] 120 Classification criteria [0184] 121 Packet management table [0185] 13 Extraction unit [0186] 130 Extraction criteria [0187] 131 Packet management table [0188] 14 Identification information generation unit [0189] 140 Identification information [0190] 15 Packet communication unit [0191] 15A Packet communication unit [0192] 150A Control unit [0193] 151A Transmission control information [0194] 20 Display device [0195] 21 Server device [0196] 22 IoT gateway [0197] 23 IoT device [0198] 30 Communication device [0199] 31 Feature information generation unit [0200] 310 Information indicating feature [0201] 32 Classification unit [0202] 320 Classification criteria [0203] 33 Extraction unit [0204] 330 Extraction criteria [0205] 34 Identification information generation unit [0206] 340 Identification information [0207] 40 Equipment [0208] 400 Packet [0209] 900 Information processing device [0210] 901 CPU [0211] 902 ROM [0212] 903 RAM [0213] 904 Hard disk (storage device) [0214] 905 Communication interface [0215] 906 Bus [0216] 907 Recording medium [0217] 908 Reader/writer [0218] 909 Input/output interface