WO2018131458A1 - パケット解析プログラム、パケット解析方法、およびパケット解析装置 - Google Patents

パケット解析プログラム、パケット解析方法、およびパケット解析装置 Download PDF

Info

Publication number
WO2018131458A1
WO2018131458A1 PCT/JP2017/046500 JP2017046500W WO2018131458A1 WO 2018131458 A1 WO2018131458 A1 WO 2018131458A1 JP 2017046500 W JP2017046500 W JP 2017046500W WO 2018131458 A1 WO2018131458 A1 WO 2018131458A1
Authority
WO
WIPO (PCT)
Prior art keywords
connection
packet
abnormal
packet analysis
storage unit
Prior art date
Application number
PCT/JP2017/046500
Other languages
English (en)
French (fr)
Inventor
飯塚 史之
祐士 野村
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Publication of WO2018131458A1 publication Critical patent/WO2018131458A1/ja
Priority to US16/504,382 priority Critical patent/US10873515B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers

Definitions

  • the present invention relates to a packet analysis program, a packet analysis method, and a packet analysis device.
  • packets flowing between devices are acquired and temporarily stored using a mirroring function such as a switch or router, and the packets transmitted over connections determined to be abnormal are extracted from the stored packets.
  • a mirroring function such as a switch or router
  • a failure whose severity is not registered is referred to a failure occurrence history database based on the occurrence frequency of the failure and variation in the occurrence interval, and the importance of the failure is estimated. is there. Further, for example, there is a technique for determining a failure level by referring to a failure level table based on an influence range and an elapsed time.
  • an object of the present invention is to provide a packet analysis program, a packet analysis method, and a packet analysis device that can selectively store packets according to the communication performance of a connection.
  • the acquired packet is stored in the first storage unit, and based on the acquired packet, the information on the communication performance of the connection is associated with the information indicating the connection with which the packet is communicated.
  • information indicating the connection is registered in the third storage unit, the third storage unit is referred to, and the predetermined time from acquisition stored in the first storage unit is stored.
  • Tsu door analyzer is proposed.
  • FIG. 1 is an explanatory diagram of an example of the packet analysis method according to the embodiment.
  • FIG. 2 is an explanatory diagram showing an example of the packet analysis system 200.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the packet analysis device 100.
  • FIG. 4 is an explanatory diagram showing an example of the contents stored in the connection table 400.
  • FIG. 5 is an explanatory diagram showing an example of the contents stored in the index table 500.
  • FIG. 6 is an explanatory diagram showing an example of the stored contents of the L4 analysis information table 600.
  • FIG. 7 is an explanatory diagram showing an example of the contents stored in the abnormal connection information table 700.
  • FIG. 8 is an explanatory diagram showing an example of the contents stored in the abnormal level history 800.
  • FIG. 9 is an explanatory diagram showing an example of the contents stored in the abnormal level range list 900.
  • FIG. 10 is a block diagram illustrating a functional configuration example of the packet analysis device 100.
  • FIG. 11 is a block diagram illustrating a specific functional configuration example of the packet analysis device 100.
  • FIG. 12 is an explanatory diagram illustrating a first operation example of the packet analysis device 100.
  • FIG. 13 is an explanatory diagram illustrating a second operation example of the packet analysis device 100.
  • FIG. 14 is an explanatory diagram illustrating a third operation example of the packet analysis device 100.
  • FIG. 15 is an explanatory diagram illustrating an example of setting an abnormal level based on the abnormal level history 800.
  • FIG. 16 is a flowchart illustrating an example of a storage processing procedure according to the first embodiment.
  • FIG. 16 is a flowchart illustrating an example of a storage processing procedure according to the first embodiment.
  • FIG. 16 is a flowchart illustrating an example of a storage processing procedure according
  • FIG. 17 is a flowchart illustrating an example of an analysis processing procedure according to the first embodiment.
  • FIG. 18 is a flowchart illustrating an example of an abnormality determination processing procedure according to the first embodiment.
  • FIG. 19 is a flowchart illustrating an example of an abnormal connection registration process procedure according to the first embodiment.
  • FIG. 20 is a flowchart illustrating an example of a determination processing procedure according to the first embodiment.
  • FIG. 21 is a flowchart illustrating an example of a list connection processing procedure according to the first embodiment.
  • FIG. 22 is a flowchart illustrating an example of a generation processing procedure according to the first embodiment.
  • FIG. 23 is a flowchart illustrating an example of a packet filter processing procedure according to the first embodiment.
  • FIG. 24 is an example of the contents stored in the abnormal level range list 2400 according to the second embodiment.
  • FIG. 25 is a flowchart illustrating an example of an abnormality determination processing procedure according to the second embodiment.
  • FIG. 26 is a flowchart illustrating an example of an abnormal connection registration process procedure according to the second embodiment.
  • FIG. 27 is a flowchart illustrating an example of a list connection processing procedure according to the second embodiment.
  • FIG. 28 is a flowchart illustrating an example of a deletion processing procedure according to the second embodiment.
  • FIG. 1 is an explanatory diagram of an example of the packet analysis method according to the embodiment.
  • the packet analysis device 100 is a computer that analyzes various connections between devices and a network connecting the devices based on packets flowing between the devices.
  • a packet can be selectively stored with a relatively low processing load by associating an index value indicating the communication performance of a connection with one of a plurality of index value ranges prepared in advance.
  • the packet analysis device 100 includes a first storage unit 110, a second storage unit 120, a third storage unit 130, and a fourth storage unit 140.
  • the first storage unit 110 is a storage area for temporarily storing packets.
  • the first storage unit 110 is, for example, a packet buffer. The packet stored in the first storage unit 110 may be overwritten and deleted by another packet over time.
  • the second storage unit 120 is a storage area that stores connection information for a connection with which a packet is communicated.
  • the connection information includes information associating information indicating a connection with which a certain packet is communicated with information regarding the communication performance of the connection with which the packet is communicated.
  • the connection information is, for example, the packet ID of a certain packet And information indicating the connection with which the packet is communicated and information relating to the communication performance of the connection with which the packet is communicated.
  • the information indicating the connection is, for example, a connection ID assigned to the connection.
  • the information regarding the communication performance of the connection includes, for example, a packet loss rate in the connection, an RTT (Round-Trip Time), and a server delay.
  • the information related to the communication performance of the connection may be the abnormal level of the connection obtained from the packet loss rate, RTT, server delay, etc. in the connection.
  • the server delay is, for example, the time from when a server receives a request until it performs processing corresponding to the request and returns a response.
  • the third storage unit 130 is a storage area in which information indicating several connections is registered in association with each index value range of a plurality of index value ranges prepared in advance.
  • the index value is an abnormal level of the connection calculated based on, for example, the packet loss rate, RTT, and server delay in the connection.
  • the index value may be, for example, a packet loss rate in connection, RTT, server delay, and the like.
  • the index value range is, for example, an abnormal level range.
  • the third storage unit 130 can store information used when the packet analysis device 100 determines which packet to extract from the first storage unit 110.
  • the fourth storage unit 140 is a storage area in which packets can be stored for a longer period than the first storage unit 110.
  • the fourth storage unit is, for example, a saved file prepared on a nonvolatile memory.
  • the fourth storage unit 140 can store packets used when the packet analysis device 100 analyzes various connections between certain devices, a network connecting certain devices, and the like.
  • the packet analysis device 100 acquires a packet flowing between certain devices using the mirroring function, and accumulates it in the first storage unit 110. For example, the packet analysis device 100 sequentially acquires packets 1 to 14 flowing between certain devices and stores them in the packet buffer. Thereby, the packet analysis device 100 can temporarily store a packet that may be used when analyzing a connection between certain devices, a network connecting the certain devices, or the like.
  • the packet analysis device 100 Based on the acquired packet, the packet analysis device 100 associates with the information indicating the connection with which the packet has been communicated, and stores information regarding the communication performance of the connection with which the packet has been communicated in the second storage. Stored in the unit 120. For example, each time a packet is acquired, the packet analysis device 100 performs L4 analysis based on the packet, and accumulates connection information about the connection with which the packet is communicated in the second storage unit 120.
  • the packet analysis apparatus 100 when the packet analysis apparatus 100 acquires the packet 1, the packet analysis apparatus 100 stores connection information for the connection A with which the packet 1 is communicated. Thereby, the packet analysis apparatus 100 can store connection information used when determining which index value range a connection between certain apparatuses is associated with.
  • the packet analysis device 100 associates with each index value range of a plurality of index value ranges including an index value indicating the communication performance of the connection for each connection at a predetermined time interval.
  • Information indicating the connection is registered in the third storage unit 130.
  • the packet analysis device 100 registers abnormal connection information using, for example, a list structure.
  • the abnormal connection information includes information indicating a connection through which a packet that may be extracted from the first storage unit 110 is communicated.
  • the abnormal connection information includes, for example, a connection ID as information indicating a connection.
  • the packet analysis device 100 prepares an abnormal level range list 150 indicating a plurality of abnormal level ranges.
  • the packet analysis apparatus 100 stores the abnormal connection information 161 to 165 in association with each abnormal level range indicated by the abnormal level range list 150 using the pointers 171 to 175. Thereby, the packet analysis device 100 can register connection information used when selecting a packet to be extracted from the packet buffer with a relatively low processing load.
  • the packet analysis device 100 refers to the third storage unit 130 at a predetermined time interval, and specifies the packet stored in the first storage unit 110 among the packets that have been acquired for a certain period of time. Packets communicated over the connection corresponding to the index value range of.
  • the specific index value range is, for example, an index value range in which the number of associated abnormal connection information is equal to or less than a predetermined number.
  • the specific index value range may be, for example, a range from a preset upper limit value to a lower limit value.
  • the packet analysis apparatus 100 communicates with connections A and C corresponding to a specific abnormal level range “91 to 100” among the packets 1 to 7 stored in the packet buffer and for which a fixed time has elapsed since acquisition. Packets ps1 and ps2 are extracted. Further, the packet analysis apparatus 100 extracts packets communicated through the connections A to D corresponding to the abnormal level range “81 to 100” in which the number of associated abnormal connection information is limited to 4 or less, for example. It may be. Thereby, the packet analyzing apparatus 100 can extract the packet before the packet is deleted from the packet buffer. In addition, the packet analysis device 100 can limit the number of packets stored in the fourth storage unit 140.
  • the packet analysis device 100 stores the extracted packet in the fourth storage unit 140.
  • the packet analysis device 100 stores the packets ps1 and ps2 in the fourth storage unit 140.
  • the packet analysis device 100 can analyze various connections between certain devices, a network connecting certain devices, and the like based on the packets stored in the fourth storage unit 140 in a later manner and in detail. it can.
  • the packet analysis device 100 does not need to perform sorting based on the index value, and can extract packets from the packet buffer and store them in the fourth storage unit 140 with a relatively low processing load.
  • the packet analysis device 100 can limit the number of packets stored in the fourth storage unit 140, and the storage area of the fourth storage unit 140 used for storing the packets is insufficient. Can be suppressed. For this reason, the packet analysis device 100 can prevent an error from occurring in the processing of the device itself due to a shortage of the storage area.
  • the packet analysis apparatus 100 sets a specific index value range, and preferentially extracts packets that have a relatively high possibility of being used when performing a subsequent and detailed analysis of connections and the like. , And can be stored in the fourth storage unit 140. Therefore, the packet analysis apparatus 100 can preferentially leave a packet that is determined to be preferably saved in the fourth storage unit 140 before being deleted from the packet buffer.
  • the packet analysis device 100 updates how or when the registration state of the abnormal connection information in the third storage unit 130 is updated according to various rules. You may control whether to do it. As a result, the packet analysis apparatus 100 can more effectively extract a packet that has a relatively high possibility of being used when a subsequent and detailed analysis of a connection or the like is performed.
  • the packet analysis apparatus 100 may prepare two types of abnormal level range lists 150 for operation and for update. Thereby, since the packet analysis apparatus 100 updates the abnormal level range list 150, the packet analysis apparatus 100 refers to the abnormal level range list 150 and waits for execution of processing for extracting a packet communicated by any connection. It can be made unnecessary.
  • FIG. 2 is an explanatory diagram showing an example of the packet analysis system 200.
  • the packet analysis system 200 includes a packet analysis device 100, a client device 220, and a server device 230.
  • the packet analysis system 200 may include a plurality of client devices 220 or a plurality of server devices 230.
  • the client device 220 and the server device 230 are connected via a wired or wireless network 210.
  • the network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
  • the packet analysis device 100 acquires and accumulates packets communicated between the client device 220 and the server device 230 via a relay device 240 such as a switch or TAP provided in the network.
  • the packet analysis device 100 is, for example, a server or a PC (Personal Computer).
  • the client device 220 is a computer that generates a connection with the server device 230 and communicates with the server device 230.
  • the client device 220 is, for example, a PC, a notebook PC, a tablet terminal, a smartphone, or the like.
  • the server device 230 is a computer that generates a connection with the client device 220 and communicates with the client device 220.
  • the server device 230 is, for example, a server or a PC.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the packet analysis device 100.
  • the packet analysis device 100 includes a CPU (Central Processing). (Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Each component is connected by a bus 300.
  • the CPU 301 governs overall control of the packet analysis device 100.
  • the memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded process.
  • the network I / F 303 is connected to the network 210 through the relay device 240.
  • the network I / F 303 controls the interface between the relay device 240 and the inside, and controls data input / output from the relay device 240.
  • a modem or a LAN adapter can be employed as the network I / F 303.
  • the recording medium I / F 304 controls reading / writing of data with respect to the recording medium 305 according to the control of the CPU 301.
  • the recording medium I / F 304 is, for example, a magnetic disk drive or an optical disk drive.
  • the recording medium I / F 304 may be, for example, a USB (Universal Serial Bus) port.
  • the recording medium 305 is a nonvolatile memory that stores data written under the control of the recording medium I / F 304.
  • the recording medium 305 is, for example, a magnetic disk or an optical disk.
  • the recording medium 305 may be a USB memory, for example.
  • the recording medium 305 may be detachable from the packet analysis device 100.
  • the recording medium 305 may store the packet analysis program according to the embodiment.
  • the packet analysis device 100 may include, for example, an SSD (Solid State Drive) or a semiconductor memory in addition to the above-described components. Further, the packet analysis device 100 may include, for example, a keyboard, a mouse, a display, and the like in addition to the above-described components. Further, the packet analysis device 100 may not have the recording medium I / F 304 and the recording medium 305.
  • SSD Solid State Drive
  • the packet analysis device 100 may include, for example, a keyboard, a mouse, a display, and the like in addition to the above-described components. Further, the packet analysis device 100 may not have the recording medium I / F 304 and the recording medium 305.
  • connection table 400 Storage contents of connection table 400
  • Storage contents of connection table 400 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 4 is an explanatory diagram showing an example of the contents stored in the connection table 400.
  • the connection table 400 includes fields for a connection ID, a transmission source IP, a transmission destination IP, a protocol number, a transmission source port, a transmission destination port, and an abnormal connection information pointer.
  • the connection table 400 stores connection information as a record by setting information in each field.
  • connection ID field the connection ID of the connection with which the packet is communicated, which is extracted from the packet header information acquired by the packet analysis device 100, is set.
  • source IP field a source IP address indicating the source device of the packet in the connection indicated by the connection ID is set.
  • destination IP field a destination IP address indicating the destination device of the packet in the connection indicated by the connection ID is set.
  • the protocol number field a number that identifies the protocol is set.
  • a port number indicating the transmission source port of the packet in the connection indicated by the connection ID is set.
  • a port number indicating the transmission destination port of the packet in the connection indicated by the connection ID is set. If there is abnormal connection information for the connection indicated by the connection ID, the abnormal connection information pointer field is set with a pointer to the abnormal connection information.
  • the index table 500 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 5 is an explanatory diagram showing an example of the contents stored in the index table 500.
  • the index table 500 has fields for a write pointer, a read pointer, a packet ID, a connection ID, and a reception date / time.
  • the index table 500 stores index information as a record by setting information in the fields of packet ID, connection ID, and reception date and time.
  • a write pointer that specifies the record to be written next is set.
  • the write pointer is a value greater than or equal to 1 and less than or equal to the maximum number of records in the index table 500.
  • the write pointer is incremented by one each time writing to the index table 500 is performed.
  • the value of the write pointer is a value indicating what number the record to be specified is from the beginning.
  • a read pointer that designates the next record to be read is set.
  • the read pointer is a value not less than 1 and not more than the maximum number of records in the index table 500. Each time the read pointer is read from the index table 500, the read pointer is incremented by one.
  • the value of the read pointer is a value indicating what number the specified record is from the top.
  • the packet ID field the packet ID of the packet acquired by the packet analysis device 100 is set in order to manage the packet acquired by the packet analysis device 100.
  • the connection ID field the connection ID of the connection with which the packet is communicated, which is extracted from the header information of the packet acquired by the packet analysis device 100, is set.
  • the reception date / time field the date / time when the packet analysis device 100 acquired the packet is set.
  • the L4 analysis information table 600 is realized, for example, by a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 6 is an explanatory diagram showing an example of the stored contents of the L4 analysis information table 600.
  • the L4 analysis information table 600 includes a connection ID, the number of transmission side packets, the number of transmission side bytes, the number of transmission side losses, the number of reception side packets, the number of reception side bytes, and the reception side. It has fields for loss number, RTT average value, and server delay average value.
  • the L4 analysis information table 600 stores the L4 analysis information as a record by setting information in each field.
  • connection ID field the connection ID of the connection with which the packet is communicated, which is extracted from the packet header information acquired by the packet analysis device 100, is set.
  • the number of packets transmitted from the transmission side device in the connection indicated by the connection ID is set.
  • the total number of bytes of packets transmitted from the transmission side device in the connection indicated by the connection ID is set.
  • the transmission side loss number the number of lost packets among the packets transmitted from the transmission side device in the connection indicated by the connection ID is set.
  • the number of packets received by the reception side device in the connection indicated by the connection ID is set.
  • the total number of bytes of packets received by the receiving side device in the connection indicated by the connection ID is set.
  • the number of packets not received by the receiving side device among the packets transmitted from the transmitting side device in the connection indicated by the connection ID is set.
  • the RTT average value field the RTT average value in the connection indicated by the connection ID is set.
  • the server delay average value field the server delay average value in the connection indicated by the connection ID is set. The server delay is, for example, the time from when the server apparatus 230 receives a request from the client apparatus 220 until it performs processing corresponding to the request and returns a response to the client apparatus 220.
  • the abnormal connection information table 700 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 7 is an explanatory diagram showing an example of the contents stored in the abnormal connection information table 700.
  • the abnormal connection information table 700 includes fields for a connection ID, a connection information pointer, a last save time, an abnormal level, an abnormal level expiration date, and an abnormal level history pointer.
  • the abnormal connection information table 700 stores abnormal connection information as a record by setting information in each field.
  • connection ID field it is determined that there is an abnormality, and the connection ID of the abnormal connection through which a packet that may be extracted is communicated is set.
  • connection information pointer field a pointer to connection information in the connection table 400 in which the same connection ID as that of the abnormal connection is set.
  • a final storage time indicating the end point of a period during which the packet transmitted through the connection indicated by the connection ID is continuously extracted is set.
  • an abnormal level calculated for the connection indicated by the connection ID is set.
  • an abnormal level valid period field an abnormal level valid period indicating a time at which the set abnormal level is prevented from being updated with an abnormal level smaller than the abnormal level is set.
  • an abnormal level history pointer field a pointer to an abnormal level history that stores an abnormal level calculated in the past for the connection indicated by the connection ID is set.
  • the abnormal level history 800 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 8 is an explanatory diagram showing an example of the stored contents of the abnormal level history 800.
  • the abnormal level history 800 includes fields for the number, the next writing position, the time, and the abnormal level.
  • the abnormality level history 800 stores history information as a record by setting information on the time and the abnormality level.
  • the maximum number of records in the abnormal level history 800 is set.
  • a pointer for designating a record to be written next is set.
  • the time field the time when the abnormal level is calculated for a certain connection is set.
  • An abnormal level calculated for a certain connection is set in the abnormal level field.
  • the abnormal level history 800 is prepared for each abnormal connection.
  • the abnormal level range list 900 is realized by, for example, a storage area such as the memory 302 and the recording medium 305 of the packet analysis apparatus 100 illustrated in FIG.
  • FIG. 9 is an explanatory diagram showing an example of the stored contents of the abnormal level range list 900.
  • the abnormal level range list 900 has fields of a range upper limit, a range lower limit, the number of connections, a list head pointer, and a list end pointer.
  • the abnormal level range list 900 further includes an item associated with the abnormal level range.
  • the abnormal level range list 900 stores the abnormal level range information as a record by setting information in each field.
  • the upper limit of the abnormal level range is set in the range upper limit field.
  • the range lower limit field the lower limit value of the abnormal level range is set.
  • the abnormal level range is, for example, a range less than the upper limit value and greater than or equal to the lower limit value.
  • the upper limit value is 100
  • the abnormal level range may be a range equal to or lower than the upper limit value.
  • the connection number field the number of abnormal connection information pointers associated with the abnormal level range is set.
  • the list head pointer field is set with a list head pointer that specifies an item including the head abnormal connection information pointer among one or more abnormal connection information pointers associated with the abnormal level range.
  • a list end pointer that specifies an item including the end abnormal connection information pointer among one or more abnormal connection information pointers associated with the abnormal level range is set.
  • Item exists for each abnormal connection, and has fields for an abnormal connection information pointer and a next address.
  • an abnormal connection information pointer field a pointer to abnormal connection information of an abnormal connection associated with the abnormal level range is set.
  • next address field next to an abnormal connection, a pointer to an item for another abnormal connection associated with the same abnormal level range is set.
  • FIG. 10 is a block diagram illustrating a functional configuration example of the packet analysis device 100.
  • the packet analysis device 100 includes a storage unit 1001, an acquisition unit 1002, an analysis unit 1003, a registration unit 1004, and a storage unit 1005.
  • the storage unit 1001 is realized by a storage area such as the memory 302 and the recording medium 305 shown in FIG.
  • the acquisition unit 1002 to the storage unit 1005 are functions serving as a control unit.
  • the acquisition unit 1002 to the storage unit 1005 for example, cause the CPU 301 to execute a program stored in a storage area such as the memory 302 and the recording medium 305 illustrated in FIG. 3 or the network I / F 303.
  • the processing result of each functional unit is stored in a storage area such as the memory 302 and the recording medium 305 shown in FIG.
  • the storage unit 1001 implements the first storage unit 110.
  • the storage unit 1001 realizes a packet buffer with a ring buffer structure, for example, and temporarily stores the packet.
  • the storage unit 1001 uses the index table 500 to manage the packet buffer and realize the first storage unit 110.
  • the storage unit 1001 can make it possible to read a packet communicated through the connection before the determination.
  • the storage unit 1001 implements the second storage unit 120.
  • the storage unit 1001 stores, for example, connection information regarding a connection with which a certain packet is communicated.
  • the connection information includes information associating information indicating a connection with which a certain packet is communicated with information regarding the communication performance of the connection with which the packet is communicated.
  • the connection information includes, for example, information in which a packet ID of a packet, information indicating a connection with which the packet is communicated, and information regarding the communication performance of the connection with which the packet is communicated.
  • the information indicating the connection is, for example, a connection ID assigned to the connection.
  • the information regarding the communication performance of the connection is, for example, the packet loss rate, RTT, server delay, etc. in the connection.
  • the information related to the communication performance of the connection may be the abnormal level of the connection obtained from the packet loss rate, RTT, server delay, etc. in the connection.
  • the server delay is, for example, the time from when the server apparatus 230 receives a request from the client apparatus 220 until it performs processing corresponding to the request and returns a response to the client apparatus 220.
  • the server delay is a packet corresponding to a response that the server apparatus 230 returns to the client apparatus 220 from the time when the packet analysis apparatus 100 acquires a packet that corresponds to the request that the server apparatus 230 receives from the client apparatus 220. It is the time until the time of acquiring.
  • the storage unit 1001 implements the second storage unit 120 using the L4 analysis information table 600. Accordingly, the storage unit 1001 can store information used when determining whether or not a connection between certain devices is an abnormal connection.
  • the storage unit 1001 implements the third storage unit 130.
  • the storage unit 1001 registers information indicating several connections in association with each index value range of a plurality of index value ranges prepared in advance.
  • the index value is an abnormal level of the connection calculated based on, for example, the packet loss rate, RTT, and server delay in the connection.
  • the index value range is, for example, an abnormal level range.
  • the storage unit 1001 implements the third storage unit 130 using the abnormal level range list 900. Accordingly, the storage unit 1001 can store information used when the packet analysis device 100 determines which packet to extract from the first storage unit 110.
  • the storage unit 1001 implements the fourth storage unit 140.
  • the storage unit 1001 stores the packet for a longer period than the first storage unit 110. Accordingly, the storage unit 1001 can store packets used when the packet analysis device 100 analyzes various connections between certain devices, a network connecting certain devices, and the like.
  • the acquisition unit 1002 acquires a packet flowing between certain devices. Each time the acquisition unit 1002 acquires a packet, the acquisition unit 1002 accumulates the packet in the first storage unit 110.
  • the acquisition unit 1002 acquires, for example, packets flowing between certain devices using the mirroring function of the relay device 240, accumulates the packets in the first storage unit 110, and creates the index table 500. Thereby, the acquisition unit 1002 can temporarily store and manage a packet that may be used when analyzing a connection between certain devices, a network connecting the certain devices, or the like.
  • the analysis unit 1003 Based on the packet acquired by the acquisition unit 1002, the analysis unit 1003 is associated with information indicating the connection with which the packet is communicated, and information related to the communication performance of the connection with which the packet is communicated is stored in the second storage unit 120. To accumulate. For example, each time a packet is acquired, the packet analysis device 100 performs L4 analysis based on the packet, and stores connection information about the connection with which the packet is communicated in the connection table 400. Accordingly, the analysis unit 1003 can store connection information used when determining which index value range a connection between certain devices is associated with.
  • the registration unit 1004 refers to the second storage unit 120 at a predetermined time interval, and for each connection, the registration unit 1004 includes any one of a plurality of index value ranges including an index value indicating the communication performance of the connection.
  • information indicating the connection is registered in the third storage unit 130.
  • the registration unit 1004 associates with any one of a plurality of abnormal level ranges indicated by the abnormal level range list 900 including abnormal levels of connections generated between certain devices every 5 seconds. Register the abnormal connection information corresponding to the connection.
  • the abnormal connection information includes information indicating a connection through which a packet that may be extracted is communicated.
  • the abnormal connection information includes, for example, a connection ID as information indicating a connection. Accordingly, the registration unit 1004 can register connection information used when selecting a packet to be extracted from the packet buffer with a relatively low processing load.
  • the registration unit 1004 determines, for example, whether or not the index value indicating the communication performance of the first connection is an index value indicating that the communication performance is equal to or lower than a predetermined communication performance.
  • the registration unit 1004 indicates the first connection in association with one of a plurality of index value ranges including the index value when the index value indicates that the communication performance is equal to or lower than a predetermined communication performance.
  • Information is registered in the third storage unit 130. Specifically, when the abnormal level of the first connection is equal to or higher than the threshold, the registration unit 1004 registers abnormal connection information corresponding to the first connection in association with the abnormal level range including the abnormal level. .
  • the registration unit 1004 can easily extract packets communicated through an abnormal connection having a relatively high abnormality level and a relatively high possibility of subsequent and detailed analysis.
  • the registration unit 1004 does not extract a packet communicated through an abnormal connection having a relatively low abnormality level and a relatively low possibility of subsequent and detailed analysis. The shortage can be made difficult to occur.
  • the registration unit 1004 sets the expiration date for the registration state of the information indicating the first connection in the third storage unit 130, Set a time after a certain time from the current time.
  • the registration unit 1004 can prevent the information indicating the first connection from being associated with the abnormal level range indicating that the communication performance is lower than the currently associated abnormal level range until the expiration date.
  • the registration unit 1004 communicates through an abnormal connection whose abnormality level has temporarily increased, and a packet that is preferably stored in the storage file is not stored in the storage file as the abnormality level decreases. Can be suppressed until the expiration date.
  • the registration unit 1004 determines whether or not the change in the index value indicating the communication performance of the first connection indicates a decrease in the communication performance of the first connection.
  • the registration unit 1004 associates an index value range including an index value indicating the communication performance of the first connection with information indicating the first connection in the third Re-register in the storage unit 130.
  • the registration unit 1004 resets the expiration date to a time after a certain time from the current time. Specifically, when the abnormal level of the abnormal connection increases, the registration unit 1004 associates the abnormal connection information of the abnormal connection with the abnormal level range including the abnormal level.
  • the registration unit 1004 can preferentially store packets that have an increased abnormal level and are preferably stored in the storage file in the storage file. Also, the registration unit 1004 can make it easier to store the packet in the save file for a certain period of time after the abnormal level becomes large.
  • the registration unit 1004 transfers the information indicating the first connection to the third storage unit 130. Do not change the registration status of. Specifically, when the abnormal level indicating the communication performance of the first connection decreases, the registration unit 1004 can not change the registration state of the information indicating the first connection in the abnormal level range. Thereby, the packet analysis device 100 can prevent the packet communicated through the first connection from being extracted immediately after the abnormal level is lowered.
  • the registration unit 1004 indicates that an index value change indicating the communication performance of the first connection indicates an improvement in the communication performance of the first connection and is associated with information indicating the first connection at present. It is determined whether it is included in the value range. When the registration unit 1004 shows improvement and is determined to be included, the registration unit 1004 resets the expiration date to a time after a certain time from the current time. Specifically, when the abnormal level indicating the communication performance of the first connection decreases and is included in the currently associated abnormal level range, the registration unit 1004 sets the expiration date after a certain time from the current time. Reset the time. Thereby, the registration unit 1004 can extract a packet for a longer period and store it in a save file when an abnormality continues in the abnormal connection.
  • the registration unit 1004 when the expiration date is reached, the registration unit 1004 is associated with any index value range including any index value of a plurality of index values indicating the communication performance of the first connection in a predetermined period, Information indicating the first connection is re-registered in the third storage unit 130.
  • the registration unit 1004 resets the expiration date to a time after a certain time from the current time.
  • the registration unit 1004 refers to the abnormal level history 800 and re-registers information indicating the first connection using the maximum abnormal level in the abnormal level history 800.
  • the registration unit 1004 can improve the possibility of using an abnormal level that is preferably used when registering abnormal connection information, as compared to the case of using only the abnormal level at the current time. For this reason, the registration unit 1004 can more effectively extract packets communicated through an abnormal connection, which are preferably stored in a storage file.
  • the registration unit 1004 determines, for example, whether or not the index value indicating the communication performance of the first connection is an index value indicating that the communication performance is equal to or lower than a predetermined communication performance.
  • the retention period for the registration state of the information indicating the first connection in the third storage unit 130 is constant from the current time. Set to a time later.
  • the registration unit 1004 deletes the registration state of the information indicating the first connection in the third storage unit 130.
  • the registration unit 1004 saves, in the save file, a packet that has not been stored in the save file and has a low possibility of being used when analyzing the connection or the like after the retention period. You can avoid memorizing. Then, the registration unit 1004 can suppress an increase in the number of packets stored in the save file.
  • the storage unit 1005 refers to the third storage unit 130 and is communicated through a connection corresponding to a specific index value range among the packets that have accumulated in the first storage unit 110 and for which a certain period of time has elapsed since acquisition.
  • the packet is extracted and stored in the fourth storage unit 140.
  • the specific index value range is, for example, a collection of one or more index value ranges in which the number of associated abnormal connection information is equal to or less than a predetermined number.
  • the specific index value range may be, for example, a range from a preset upper limit value to a lower limit value.
  • the storage unit 1005 extracts and stores packets communicated through an abnormal connection corresponding to a specific abnormal level range “91 to 100” out of packets accumulated in a packet buffer and for which a fixed time has elapsed since acquisition.
  • the storage unit 1005 can extract the packet before the packet is deleted from the packet buffer.
  • the storage unit 1005 can limit the number of packets to be extracted.
  • the storage unit 1005 sets a specific abnormal level range so that the number of abnormal connections from which packets are extracted is equal to or less than a predetermined number, for example, and communication is performed using an abnormal connection corresponding to the specific abnormal level range. Packets may be extracted. Thereby, the storage unit 1005 can extract the packet before the packet is deleted from the packet buffer. In addition, the storage unit 1005 can limit the number of packets to be extracted.
  • the storage unit 1005 may further output the result stored in the fourth storage unit 140.
  • the output format includes, for example, display on a display, print output to a printer, transmission to an external device via the network I / F 303, output to predetermined analysis software, and the like.
  • the predetermined analysis software is, for example, software that analyzes a connection between certain devices, a network 210 that connects the certain devices, and the like. Accordingly, the storage unit 1005 can cause the user, an external device, or predetermined analysis software to analyze the connection between certain devices, the network 210 connecting the certain devices, and the like.
  • FIG. 11 is a block diagram illustrating a specific functional configuration example of the packet analysis device 100.
  • the packet analysis device 100 includes a NIC (Network Interface Card) 1101, a driver 1102, and a packet buffer 1103.
  • the NIC 1101 acquires a packet flowing between certain devices using a mirroring function of the relay device 240 such as a switch or a TAP.
  • the NIC 1101 outputs the acquired packet to the driver 1102.
  • the driver 1102 receives the packet and accumulates the packet in the packet buffer 1103.
  • the packet buffer 1103 has a ring buffer structure and stores packets for a relatively short period.
  • the packet analysis device 100 includes an L4 analysis 1104, an index creation 1105, and an index table 1106 (500).
  • the L4 analysis 1104 analyzes the connection with which the packet is communicated based on the packet, and updates the L4 analysis information table 600.
  • the L4 analysis 1104 is, for example, for the connection through which the packet is communicated, the number of transmission side packets, the number of transmission side bytes, the number of transmission side losses, the number of reception side packets, the number of reception side bytes, and the number of reception side losses.
  • RTT average value, server delay average value, and the like are calculated.
  • the index creation 1105 stores, in the index table 1106 (500), a record in which the packet ID, the connection ID, and the reception date / time are associated with each other based on the header information of the packet. .
  • the packet analysis apparatus 100 also includes an L4 abnormality determination 1107, an abnormal connection information table 1108 (700), an abnormal level range list 1109 (900), an L4 statistics 1110, and statistical information 1111.
  • the L4 abnormality determination 1107 refers to the L4 analysis information table 600 to determine whether or not a connection with which a certain packet is communicated is an abnormal connection. In the case of an abnormal connection, the L4 abnormality determination 1107 updates the abnormal connection information table 1108 (700) and the abnormal level range list 1109 (900).
  • the L4 statistics 1110 updates the statistical information 1111 with reference to the L4 analysis information table 600.
  • the packet analysis device 100 includes an L7 analysis 1112, an L7 abnormality determination 1113, and an L7 statistic 1114.
  • the L7 analysis 1112 analyzes the layer 7 with reference to the packet buffer 1103 and the L4 analysis information table 600.
  • the L7 abnormality determination 1113 determines whether or not the connection with which a certain packet is communicated is an abnormal connection with reference to the analysis result regarding the layer 7.
  • the abnormal connection information table 1108 (700) and the abnormal level range list 1109 (900) are updated.
  • the L7 statistics 1114 updates the statistical information 1111 with reference to the analysis result regarding the layer 7.
  • the packet analysis device 100 includes a packet filter 1115, a packet storage 1116, and a storage file 1117.
  • the packet filter 1115 refers to the index table 1106 (500) and selects a packet for which a certain time has elapsed since acquisition.
  • the packet filter 1115 refers to the abnormal connection information table 1108 (700), and determines whether or not the selected packet is extracted and stored in the save file 1117. If the packet filter 1115 determines that it is extracted and stored, it extracts the selected packet and outputs it to the packet storage 1116.
  • the packet save 1116 writes the packet in the save file 1117.
  • Example 1 Next, an operation example of the packet analysis apparatus 100 according to the first embodiment will be described with reference to FIGS. First, a first operation example of the packet analysis device 100 according to the first embodiment will be described with reference to FIG.
  • FIG. 12 is an explanatory diagram illustrating a first operation example of the packet analysis device 100.
  • the packet analysis device 100 transmits a packet communicated by any connection between the connection 1 and the connection 2 at the time 9:59:35 to 10:01:00. Will be described with priority.
  • the packet analysis device 100 updates the abnormal connection information associated with the abnormal level range list 900 every 5 seconds.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is not an abnormal connection.
  • the packet analysis apparatus 100 stores the newly acquired packets of the connections 1 and 2 in the packet buffer every 5 seconds, and the connections 1 and 2 Is not an abnormal connection.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “55” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. . Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, and generates abnormal connection information for the connection 1.
  • the packet analysis device 100 calculates the abnormal level “55”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the last storage time. Abnormal connection information including “00:40” is generated. Then, the packet analysis apparatus 100 registers the abnormal connection information for the generated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “65” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, and generates abnormal connection information for the connection 2.
  • the packet analysis apparatus 100 calculates the calculated abnormality level “65”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the final storage time”. Abnormal connection information including “00:40” is generated. Then, the packet analysis apparatus 100 registers the abnormal connection information for the generated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “80” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. .
  • the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has increased from “55” to “80”, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the newly calculated abnormal level “80”. For example, since the abnormal level of the connection 1 has increased, the packet analysis apparatus 100 updates the expiration date of the abnormal connection information for the connection 1 to the time “10:00:45” 40 seconds after the current time. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to a time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has decreased, the packet analysis device 100 does not update the abnormal level “65” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 9:59:35 to 9:59:40 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”, for example, because the abnormal level of the connection 1 has decreased. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 does not update the abnormal level “65” of the abnormal connection information for the connection 2 and the expiration date “10:00:40” because the abnormal level of the connection 2 has decreased. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from the past time 9:59:40 to 9:59:45 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and the abnormal level is the threshold value “5”. It is determined that the value is “0” or more. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”, for example, because the abnormal level of the connection 1 has decreased. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 does not update the abnormal level “65” of the abnormal connection information for the connection 2 and the expiration date “10:00:40” because the abnormal level of the connection 2 has decreased. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from past times 9:59:45 to 9:59:50, and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is not an abnormal connection.
  • the packet analysis device 100 preferentially stores the packet communicated through the connection 1 among the packets that have passed 30 seconds from the acquisition in the save file. . Further, the packet analysis device 100 determines that the connections 1 and 2 are not abnormal connections.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 10:00:05 to 10:00:10 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 2 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 2 to the abnormal level “55” at the time “10:00:10” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 2 to a time “10:00:50” 40 seconds after the time “10:00:10” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 2. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 at past times 10:00:10 to 10:00:15 and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “65” at the time “10:00:10” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:00:50” 40 seconds after the time “10:00:10” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 10:00:15 to 10:00:20 and has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “60” at the time “10:00:15” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:00:55” 40 seconds after the time “10:00:15” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 2 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 2 to the abnormal level “50” at the time “10:00:15” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the time “10:00:15” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 2. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 at a past time of 10:00:20 to 10:00:25 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the last storage time of the abnormal connection information for the connections 1 and 2 has been reached.
  • the packet analysis device 100 deletes the abnormal connection information for the connections 1 and 2 registered in association with the abnormal level range in the abnormal level range list 900.
  • the packet analysis device 100 gives priority to the packet transmitted through the abnormal connection, which is relatively preferable to be stored in the storage file, out of the packets communicated through the plurality of abnormal connections. Can be memorized.
  • a packet communicated by connection 2 having a relatively small maximum abnormal level is smaller than a packet communicated by connection 1 having a relatively large maximum abnormal level. It may be stored with priority.
  • the packet analysis device 100 can preferentially store packets communicated over the connection 1 having a relatively large maximum abnormal level.
  • FIG. 13 is an explanatory diagram showing a second operation example of the packet analysis device 100.
  • the packet analysis device 100 is communicated through any one of the connection 1 and the connection 2 from the time 9:59:35 to the time 10:01:00. Whether to prioritize and store a packet will be described.
  • the packet analysis device 100 updates the abnormal connection information associated with the abnormal level range list 900 every 5 seconds.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is not an abnormal connection.
  • the packet analysis apparatus 100 stores the newly acquired packets of connections 1 and 2 in the packet buffer, and connections 1 and 2 are not abnormal connections. And decide.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “60” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. . Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, and generates abnormal connection information for the connection 1.
  • the packet analysis apparatus 100 calculates the calculated abnormality level “60”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the last storage time. Abnormal connection information including “00:40” is generated. Then, the packet analysis apparatus 100 registers the abnormal connection information for the generated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, and generates abnormal connection information for the connection 2.
  • the packet analysis device 100 calculates the abnormal level “55”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the last storage time. Abnormal connection information including “00:40” is generated. The packet analyzing apparatus 100 then detects the abnormal level range “50 to 60” in the abnormal level range list 900. ”Is registered in association with the generated connection 2.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “80” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. .
  • the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has increased from “55” to “80”, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the newly calculated abnormal level “80”. For example, since the abnormal level of the connection 1 has increased, the packet analysis apparatus 100 updates the expiration date of the abnormal connection information for the connection 1 to the time “10:00:45” 40 seconds after the current time. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to a time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “55” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 9:59:35 to 9:59:40 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis apparatus 100 since the abnormal level of the connection 1 has decreased, the packet analysis apparatus 100 has an abnormal level “80” of the abnormal connection information for the connection 1 and an expiration date “10”. 0:00:45 "is not updated. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “60” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has increased from “55” to “60”, and updates the abnormal connection information for the connection 2.
  • the packet analysis apparatus 100 updates the abnormal level of the abnormal connection information for the connection 2 to the newly calculated abnormal level “60”. For example, since the abnormal level of the connection 2 has increased, the packet analysis apparatus 100 updates the expiration date of the abnormal connection information for the connection 2 to the time “10:00:50” 40 seconds after the current time. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from the past time 9:59:40 to 9:59:45 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”, for example, because the abnormal level of the connection 1 has decreased. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 does not update the abnormal level “60” of the abnormal connection information for the connection 2 and the expiration date “10:00:50”, for example, because the abnormal level of the connection 2 has decreased. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from past times 9:59:45 to 9:59:50, and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is not an abnormal connection.
  • the packet analysis device 100 preferentially stores the packet communicated through the connection 1 among the packets that have passed 30 seconds from acquisition in the save file. . Further, the packet analysis device 100 determines that the connections 1 and 2 are not abnormal connections.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 at past times 10:00:10 to 10:00:15 and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “55” at the time “10:00:10” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:00:50” 40 seconds after the time “10:00:10” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 10:00:15 to 10:00:20 and has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 2 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “50” at the time “10:00:15” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:00:55” 40 seconds after the time “10:00:15” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 2 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 2 to the abnormal level “55” at the time “10:00:15” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the time “10:00:15” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 2. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 at a past time of 10:00:20 to 10:00:25 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 2 in the save file.
  • the packet analysis device 100 detects that the last storage time of the abnormal connection information for the connections 1 and 2 has been reached.
  • the packet analysis device 100 deletes the abnormal connection information for the connections 1 and 2 registered in association with the abnormal level range in the abnormal level range list 900.
  • the packet analysis device 100 gives priority to the packet transmitted through the abnormal connection, which is relatively preferable to be stored in the storage file, out of the packets communicated through the plurality of abnormal connections. Can be memorized.
  • the packet analysis apparatus 100 can store the packets communicated by the connections 1 and 2 for a certain period.
  • FIG. 14 is an explanatory diagram showing a third operation example of the packet analysis device 100.
  • the packet analysis device 100 is communicated through any one of connection 1 and connection 2 from time 9:59:35 to time 10:01:25. Whether to prioritize and store a packet will be described. Further, the packet analysis device 100 updates the abnormal connection information associated with the abnormal level range list 900 every 5 seconds.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is not an abnormal connection.
  • the packet analysis apparatus 100 stores the newly acquired packets of connections 1 and 2 in the packet buffer, and connections 1 and 2 are not abnormal connections. And decide.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “60” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. . Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, and generates abnormal connection information for the connection 1.
  • the packet analysis apparatus 100 calculates the calculated abnormality level “60”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the last storage time. Abnormal connection information including “00:40” is generated. Then, the packet analysis apparatus 100 registers the abnormal connection information for the generated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, and generates abnormal connection information for the connection 2.
  • the packet analysis device 100 calculates the abnormal level “55”, the time “10:00:40” 40 seconds after the current time as the expiration date, and the time “10:40 after the current time 40 seconds as the last storage time. Abnormal connection information including “00:40” is generated. Then, the packet analysis apparatus 100 registers the abnormal connection information for the generated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “80” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. .
  • the packet analyzing apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has increased from “60” to “80”, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the newly calculated abnormal level “80”. For example, since the abnormal level of the connection 1 has increased, the packet analysis apparatus 100 updates the expiration date of the abnormal connection information for the connection 1 to the time “10:00:45” 40 seconds after the current time. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to a time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “55” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:00:45” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 9:59:35 to 9:59:40 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”, for example, because the abnormal level of the connection 1 has decreased. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “55” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:50” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from the past time 9:59:40 to 9:59:45 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “60” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has not changed, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 since the abnormal level of the connection 1 has not changed, the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:55” 40 seconds after the current time. The packet analysis device 100 then detects the abnormal level range “60 to 70” in the abnormal level range list 900. The abnormal connection information for the updated connection 1 is re-registered in association with.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “55” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from past times 9:59:45 to 9:59:50, and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “60” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has not changed, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 since the abnormal level of the connection 1 has not changed, the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information about the connection 1 and the expiration date “10:00:45”. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:00:55” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “55” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “55” of the abnormal connection information for the connection 2 and the expiration date “10:00:40”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to a time “10:00:55” 40 seconds after the current time. The packet analysis device 100 then detects the abnormal level range “50 to 60” in the abnormal level range list 900. The abnormal connection information for the updated connection 2 is re-registered in association with.
  • the packet analysis device 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from the past time 9:59:50 to 9:59:55 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “55” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has decreased, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information for the connection 1 and the expiration date “10:00:45”, for example, because the abnormal level of the connection 1 has decreased. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:01:05” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “80 to 90” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “60” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has increased, and updates the abnormal connection information for the connection 2.
  • the packet analysis apparatus 100 updates the abnormal level of the abnormal connection information for the connection 2 to the newly calculated abnormal level “60”. For example, since the abnormal level of the connection 2 has increased, the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 2 to the time “10:01:05” 40 seconds after the current time. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:01:05” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 9:59:55 to 10:00:00 and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis apparatus 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level “55” of the connection 1, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 1 is an abnormal connection, determines that the abnormal level of the connection 1 has not changed, and updates the abnormal connection information for the connection 1.
  • the packet analysis device 100 since the abnormal level of the connection 1 has not changed, the packet analysis device 100 does not update the abnormal level “80” of the abnormal connection information about the connection 1 and the expiration date “10:00:45”. For example, since the connection 1 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 1 to the time “10:01:10” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “60” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”.
  • the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has not changed, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 since the abnormal level of the connection 2 has not changed, the packet analysis device 100 does not update the abnormal level “60” of the abnormal connection information for the connection 2 and the expiration date “10:01:05”. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:01:10” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 preferentially stores the packet communicated through the connection 1 among the packets that have passed 30 seconds from acquisition in the save file. . Further, the packet analysis device 100 determines that the connections 1 and 2 are abnormal connections, determines that the abnormal level of the connections 1 and 2 has not changed, and updates the last storage time of the abnormal connection information for the connection 1 To do. Then, the packet analysis device 100 re-registers the abnormal connection information for the updated connection 1.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 at past times 10:00:10 to 10:00:15 and 30 seconds have elapsed since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 1 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “60” at the time “10:00:20” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:01:00” 40 seconds after the time “10:00:20” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “60 to 70” in the abnormal level range list 900.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level “70” of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has increased, and updates the abnormal connection information for the connection 2.
  • the packet analysis apparatus 100 updates the abnormal level of the abnormal connection information for the connection 2 to the newly calculated abnormal level “70”. For example, since the abnormal level of the connection 2 has increased, the packet analysis apparatus 100 updates the expiration date of the abnormal connection information for the connection 2 to the time “10:01:25” 40 seconds after the current time. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:01:25” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “70 to 80” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated through connections 1 and 2 from past times 10:00:15 to 10:00:20 and has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 2 in the save file.
  • the packet analysis device 100 stores the newly acquired packet of the connection 1 in the packet buffer, calculates the abnormal level of the connection 1, and determines that the abnormal level is less than the threshold “50”. Then, the packet analysis device 100 determines that the connection 1 is not an abnormal connection.
  • the packet analysis device 100 stores the newly acquired packet of the connection 2 in the packet buffer, calculates the abnormal level of the connection 2, and determines that the abnormal level is equal to or higher than the threshold “50”. Then, the packet analysis device 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and updates the abnormal connection information for the connection 2.
  • the packet analysis device 100 does not update the abnormal level “70” of the abnormal connection information about the connection 2 and the expiration date “10:01:25”, for example, because the abnormal level of the connection 2 has decreased. For example, since the connection 2 is an abnormal connection, the packet analysis apparatus 100 updates the last storage time of the abnormal connection information for the connection 2 to the time “10:01:30” 40 seconds after the current time. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 2 in association with the abnormal level range “70 to 80” in the abnormal level range list 900.
  • the packet analysis device 100 preferentially stores the packet communicated through the connection 2 among the packets that have passed 30 seconds from acquisition in the save file. Further, the packet analysis device 100 determines that the connection 1 is not an abnormal connection. Further, the packet analysis apparatus 100 determines that the connection 2 is an abnormal connection, determines that the abnormal level of the connection 2 has decreased, and sets the last storage time of the abnormal connection information for the connection 2 to a time “10” 40 seconds after the current time. : 01: 35 ". Then, the packet analysis device 100 re-registers the abnormal connection information for the updated connection 2.
  • the time will be 10:01:00.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from past times 10:00:25 to 10:00:30 and has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 2 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “55” at the time “10:00:25” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:01:05” 40 seconds after the time “10:00:25” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis apparatus 100 determines that there is a packet in the packet buffer that has been communicated by connections 1 and 2 from past times 10:00:30 to 10:00:35 and that has passed 30 seconds since acquisition. Then, the packet analysis device 100 preferentially stores the packet communicated through the abnormal connection associated with the relatively large abnormal level range among the packets after 30 seconds from acquisition in the storage file. The packet analysis device 100 preferentially stores the packet communicated through the connection 2 in the save file.
  • the packet analysis device 100 detects that the abnormal connection information for the connection 1 has expired. Based on the abnormal level history 800, the packet analysis device 100 updates the abnormal level of the abnormal connection information for the connection 1 to the abnormal level “55” at the time “10:00:25” stored in the abnormal level history 800. To do. Details of the packet analysis device 100 updating the abnormal level based on the abnormal level history 800 will be described later with reference to FIG.
  • the packet analysis device 100 updates the expiration date of the abnormal connection information for the connection 1 to a time “10:01:05” 40 seconds after the time “10:00:25” of the abnormal level history 800. For example, the packet analysis device 100 does not update the last storage time of the abnormal connection information for the connection 1. Then, the packet analysis apparatus 100 re-registers the abnormal connection information for the updated connection 1 in association with the abnormal level range “50 to 60” in the abnormal level range list 900.
  • the packet analysis device 100 preferentially stores the packet communicated through the connection 2 among the packets after 30 seconds from acquisition in the storage file. .
  • the packet analysis device 100 gives priority to the packet transmitted through the abnormal connection, which is relatively preferable to be stored in the storage file, out of the packets communicated through the plurality of abnormal connections. Can be memorized.
  • the packet analysis device 100 can store the packets communicated through the connections 1 and 2 respectively.
  • FIG. 15 is an explanatory diagram showing an example of setting an abnormal level based on the abnormal level history 800.
  • the packet analysis apparatus 100 stores a predetermined number of abnormal levels calculated in the past in the abnormal level history 800. Then, when setting the abnormal level based on the abnormal level history 800, the packet analyzing apparatus 100 sets the maximum value among the abnormal levels stored in the abnormal level history 800 as a new abnormal level. Become.
  • the packet analysis device 100 calculates an abnormal level every 5 seconds after the time 9:59:55, for example, and stores it in the abnormal level history 800. When there are eight abnormal levels in the abnormal level history 800, the packet analyzing apparatus 100 overwrites the newly calculated abnormal level with the oldest abnormal level and stores the latest eight abnormal levels.
  • the packet analysis apparatus 100 when setting the abnormal level based on the abnormal level history 800 at the time 10:00:45, the packet analysis apparatus 100 sets the time 10:00:10 to 10:00 stored in the abnormal level history 800. : The maximum value “60” of the plurality of abnormal levels of 45 is set. When there are a plurality of maximum values, the packet analysis device 100 uses the most recently stored maximum value among the plurality of maximum values. When the maximum value is set, the packet analysis device 100 updates the expiration date based on the time when the maximum value is calculated.
  • the packet analysis apparatus 100 can improve the possibility of using an abnormal level that is preferably used when registering abnormal connection information, compared to the case of using only the abnormal level at the current time. For this reason, the packet analysis device 100 can more effectively extract packets communicated through an abnormal connection, which are preferably stored in a storage file.
  • FIG. 16 is a flowchart illustrating an example of a storage processing procedure according to the first embodiment.
  • the packet analysis device 100 receives a packet using mirroring (step S1601).
  • the packet analysis device 100 assigns a packet ID to the received packet (step S1602).
  • the packet analysis device 100 associates the received packet, the assigned packet ID, and the reception time with each other and stores them in the packet buffer (step S1603).
  • the packet analysis device 100 outputs a storage notification for the received packet (step S1604). Then, the packet analysis device 100 ends the storage process. Thereby, the packet analysis device 100 can temporarily store the received packet in the packet buffer.
  • FIG. 17 is a flowchart illustrating an example of an analysis processing procedure according to the first embodiment.
  • the packet analysis device 100 detects a storage notification (step S1701).
  • the packet analysis device 100 acquires header information of the packet stored in the packet buffer (step S1702).
  • the packet analysis device 100 specifies the connection through which the packet is communicated (step S1703).
  • step S1704 determines whether or not the connection ID of the identified connection has been registered in the connection table 400 (step S1704). If the packet has already been registered (step S1704: YES), the packet analysis apparatus 100 proceeds to the process of step S1706.
  • step S1704 the packet analysis apparatus 100 registers the connection ID of the identified connection in the connection table 400 (step S1705). Then, the packet analysis device 100 proceeds to the process of step S1706.
  • step S1706 the packet analysis device 100 executes L4 analysis processing for the identified connection (step S1706).
  • the packet analysis device 100 refers to the analysis result of the L4 analysis process, and updates the L4 analysis information table 600 (step S1707).
  • the packet analysis device 100 performs L7 analysis (step S1708), and returns to the process of step S1701.
  • FIG. 18 is a flowchart illustrating an example of an abnormality determination processing procedure according to the first embodiment.
  • the packet analysis device 100 stands by until a determination timing for each predetermined time interval (step S1801).
  • the packet analysis device 100 refers to the connection table 400 and selects one of the connections (step S1802).
  • the packet analysis device 100 refers to the L4 analysis information table 600 and evaluates whether or not there is an abnormality in the selected connection at present (step S1803).
  • the packet analysis device 100 refers to the evaluation result and the abnormal connection information table 700, and determines whether or not the selected connection is an abnormal connection (step S1804). If the connection is not an abnormal connection (step S1804: NO), the packet analysis device 100 proceeds to the process of step S1806.
  • step S1804 if it is an abnormal connection (step S1804: Yes), the packet analysis apparatus 100 executes an abnormal connection registration process described later in FIG. 19 (step S1805). Then, the packet analysis device 100 proceeds to the process of step S1806.
  • step S1806 the packet analysis apparatus 100 refers to the connection table 400 and determines whether there is an unselected connection (step S1806). If there is an unselected connection (step S1806: YES), the packet analysis apparatus 100 returns to the process of step S1802.
  • step S1806 No
  • the packet analysis device 100 ends the abnormality determination process.
  • FIG. 19 is a flowchart illustrating an example of an abnormal connection registration process procedure according to the first embodiment.
  • the packet analysis apparatus 100 determines whether or not there is an abnormality in the abnormal connection at the present time (step S1901).
  • the packet analysis device 100 calculates the current temporary abnormality level of the abnormal connection (step S1902).
  • the packet analysis device 100 refers to the abnormal connection information table 700 and determines whether there is abnormal connection information for the abnormal connection (step S1903).
  • the packet analysis apparatus 100 proceeds to the process of step S1905.
  • step S1903 if there is no abnormal connection information (step S1903: No), the packet analysis apparatus 100 creates abnormal connection information and an abnormal level history 800 for the abnormal connection (step S1904). Then, the packet analysis device 100 proceeds to the process of step S1905.
  • step S1905 the packet analysis apparatus 100 sets the calculated provisional abnormality level in the abnormality level history 800 for the abnormal connection (step S1905).
  • the packet analysis device 100 updates the last storage time of the abnormal connection information for the abnormal connection (step S1906).
  • the packet analysis device 100 executes a determination process described later in FIG. 20 (step S1907).
  • the packet analysis device 100 executes a list connection process described later in FIG. 21 (step S1908). Then, the packet analysis device 100 ends the abnormal connection registration process.
  • step S1901 determines whether abnormal connection information is abnormal at the present time in step S1901 (step S1901: No). If it is not abnormal at the present time in step S1901 (step S1901: No), the packet analyzer 100 deletes the abnormal connection information if the last storage time of the abnormal connection information for the abnormal connection has passed. (Step S1909). Then, the packet analysis device 100 ends the abnormal connection registration process.
  • FIG. 20 is a flowchart illustrating an example of a determination processing procedure according to the first embodiment.
  • the packet analysis device 100 determines whether or not the expiration date of the abnormal connection information for the abnormal connection has passed (step S2001).
  • the packet analysis apparatus 100 refers to the abnormality level history 800 and selects the maximum abnormality level among the plurality of abnormality levels stored for the storage time. Select (step S2002).
  • the packet analysis device 100 sets the expiration date of the abnormal connection information for the abnormal connection to the time obtained by adding the storage time to the time corresponding to the selected abnormal level (step S2003). Then, the packet analysis device 100 ends the determination process.
  • step S2001: No the packet analysis apparatus 100 determines whether or not the current provisional abnormality level ⁇ the past abnormality level.
  • step S2004 determines whether or not the current provisional abnormality level ⁇ the past abnormality level.
  • step S2004: Yes the packet analysis apparatus 100 sets the abnormal level of the abnormal connection information for the abnormal connection to the current temporary abnormal level.
  • the packet analysis device 100 sets the expiration date to the time obtained by adding the storage time to the current time (step S2006). Then, the packet analysis device 100 ends the determination process.
  • step S2004 determines whether or not an abnormal level has been set in the abnormal connection information.
  • step S2007 determines whether or not an abnormal level has been set in the abnormal connection information.
  • step S2007 if it has not been set (step S2007: No), the packet analysis apparatus 100 proceeds to the process of step S2006.
  • FIG. 21 is a flowchart illustrating an example of a list connection processing procedure according to the first embodiment.
  • the packet analysis apparatus 100 associates the abnormal connection information of the abnormal connection with any abnormal level range in the abnormal level range list 900 corresponding to the determined abnormal level of the abnormal connection (step S2101).
  • the packet analysis device 100 adds 1 to the number of connections in the abnormal level range (step S2102). Then, the packet analysis device 100 ends the list connection process.
  • FIG. 22 is a flowchart illustrating an example of a generation processing procedure according to the first embodiment.
  • the packet analysis device 100 specifies a record in the index table 500 indicated by the read pointer position in the index table 500 (step S2201).
  • the packet analysis device 100 determines whether or not a certain time has elapsed from the reception time of the specified record (step S2202).
  • the packet analysis apparatus 100 returns to the process of step S2201.
  • step S2202 when the predetermined time has elapsed (step S2202: Yes), the packet analysis apparatus 100 reads the specified record and adds 1 to the read pointer position (step S2203). Next, the packet analysis device 100 determines whether the packet indicated by the packet ID of the acquired record is a packet of an abnormal connection associated with a specific abnormal level range in the abnormal level range list 900 (step) S2204). If the packet is not an abnormal connection (step S2204: NO), the packet analysis apparatus 100 returns to the process of step S2201.
  • step S2204 YES
  • the packet analysis apparatus 100 executes packet filtering processing described later in FIG. 23 based on the acquired record (step S2205). Then, the packet analysis device 100 returns to the process of step S2201.
  • FIG. 23 is a flowchart illustrating an example of a packet filter processing procedure according to the first embodiment.
  • the packet analysis device 100 acquires the packet stored in the packet buffer based on the acquired record (step S2301).
  • the packet analysis device 100 acquires a connection ID corresponding to the packet (step S2302).
  • the packet analysis apparatus 100 determines whether there is a storage area corresponding to the connection ID in the storage area such as the memory 302 or the recording medium 305 (step S2303).
  • the packet analysis apparatus 100 sets a new storage area and stores the packet (step S2304).
  • the packet analysis device 100 creates metadata corresponding to the new storage area (step S2305). Then, the packet analysis device 100 ends the packet filtering process.
  • step S2303 when there is a storage area (step S2303: Yes), the packet analysis apparatus 100 stores the packet in the storage area (step S2306). Next, the packet analysis device 100 updates the metadata corresponding to the storage area (step S230). 7). Then, the packet analysis device 100 ends the packet filtering process.
  • the packet analysis apparatus 100 stores the abnormal level range list 2400 with a list structure different from the abnormal level range list 900 of the first embodiment.
  • FIG. 24 is an example of the stored contents of the abnormal level range list 2400 in the second embodiment.
  • the abnormal level range list 2400 has fields of a range upper limit, a range lower limit, the number of connections, a list head pointer, and a list end pointer. Each field is the same as in FIG.
  • the items included in the abnormal level range list 2400 are different from those in FIG. 9, and the items will be described below.
  • Item exists for each abnormal connection, and has fields of an abnormal connection information pointer, a previous address, and a next address.
  • an abnormal connection information pointer field a pointer to abnormal connection information for an abnormal connection associated with the abnormal level range is set.
  • a pointer to an item including an abnormal connection information pointer for another abnormal connection associated with the same abnormal level range is set before the abnormal connection specified by the abnormal connection information pointer.
  • a pointer to an item including an abnormal connection information pointer for another abnormal connection associated with the same abnormal level range is set next to the abnormal connection specified by the abnormal connection information pointer.
  • the packet analysis apparatus 100 can delete not only the abnormal connection information but also the abnormal connections associated behind the abnormal connection. it can. For this reason, the packet analysis device 100 can reduce the processing time required to delete abnormal connection information.
  • FIG. 25 is a flowchart illustrating an example of an abnormality determination processing procedure according to the second embodiment.
  • the packet analysis device 100 stands by until a determination timing for each predetermined time interval (step S2501).
  • the packet analysis device 100 refers to the connection table 400 and selects one of the connections (step S2502).
  • the packet analysis device 100 refers to the L4 analysis information table 600 and evaluates whether or not the selected connection has an abnormality at present (step S2503).
  • the packet analysis apparatus 100 refers to the evaluation result and the abnormal connection information table 700, and determines whether or not the selected connection is an abnormal connection (step S2504). If the connection is not an abnormal connection (step S2504: NO), the packet analysis apparatus 100 proceeds to the process of step S2506.
  • step S2504 if it is an abnormal connection (step S2504: Yes), the packet analysis apparatus 100 executes an abnormal connection registration process described later in FIG. 26 (step S2505). Then, the packet analysis device 100 proceeds to the process of step S2506.
  • step S2506 the packet analysis device 100 refers to the connection table 400 and determines whether there is an unselected connection (step S2506).
  • step S2506 Yes
  • the packet analysis apparatus 100 returns to the process of step S2502.
  • step S2506 when there is no unselected connection (step S2506: No), the packet analysis apparatus 100 executes an abnormal connection deletion process described later in FIG. 28 (step S2507). Then, the packet analysis device 100 returns to the process of step S2501.
  • FIG. 26 is a flowchart illustrating an example of an abnormal connection registration process procedure according to the second embodiment.
  • the packet analysis apparatus 100 determines whether or not there is an abnormality in the abnormal connection at the present time (step S2601).
  • the packet analysis apparatus 100 calculates the current temporary abnormality level of the abnormal connection (step S2602).
  • the packet analysis device 100 refers to the abnormal connection information table 700 and determines whether there is abnormal connection information for the abnormal connection (step S2603).
  • the packet analysis apparatus 100 proceeds to the process of step S2605.
  • step S2603 when there is no abnormal connection information (step S2603: No), the packet analysis apparatus 100 creates abnormal connection information and an abnormal level history 800 for the abnormal connection (step S2604). Then, the packet analysis device 100 proceeds to the process of step S2605.
  • step S2605 the packet analysis device 100 sets the calculated provisional abnormal level in the abnormal level history 800 for the abnormal connection (step S2605).
  • the packet analysis device 100 updates the last storage time of the abnormal connection information for the abnormal connection (step S2606).
  • the packet analysis device 100 executes determination processing described later in FIG. 34 (step S2607).
  • the packet analysis device 100 executes a list concatenation process which will be described later with reference to FIG. 27 (step S2608). Then, the packet analysis device 100 ends the abnormal connection registration process.
  • step S2601 if it is not abnormal at the present time in step S2601 (step S2601: No), the packet analysis apparatus 100 ends the abnormal connection registration process.
  • Example of List Linking Process Procedure in Example 2 Next, an example of a list link processing procedure executed by the packet analysis device 100 according to the second embodiment will be described with reference to FIG.
  • FIG. 27 is a flowchart illustrating an example of a list connection processing procedure according to the second embodiment.
  • the packet analysis device 100 determines whether or not the final storage time has passed (step S2701).
  • the packet analysis device 100 ends the list connection process.
  • step S2701: No the packet analysis device 100 determines whether or not the current abnormal level of the abnormal connection and the new abnormal level are in the same abnormal level range. (Step S2702). Here, when they are not in the same abnormal level range (step S2702: No), the packet analysis device 100 deletes the association between any abnormal level range in the abnormal level range list 2400 and the abnormal connection (step S2703). .
  • the packet analysis device 100 subtracts 1 from the number of connections in the abnormal level range (step S2704). Then, the packet analysis device 100 searches for the position of another abnormal connection that is associated with the abnormal level range corresponding to the determined abnormal level and whose final storage time is earlier than the abnormal connection (step S2705).
  • the packet analysis device 100 associates an abnormal connection with the searched position (step S2706).
  • the packet analysis device 100 adds 1 to the number of connections (step S2707). Thereafter, the packet analysis device 100 ends the list connection process.
  • step S2702 determines whether or not the last storage time has been changed.
  • step S2708 No
  • the packet analysis apparatus 100 ends the list connection process.
  • step S2708 Yes
  • the packet analysis device 100 changes the position on the abnormal level range list 2400 in the order of the last save time (step S2709). Then, the packet analysis device 100 ends the list connection process.
  • FIG. 28 is a flowchart illustrating an example of a deletion processing procedure according to the second embodiment.
  • the packet analysis device 100 selects one of the abnormal level ranges (step S2801).
  • the packet analysis device 100 searches the selected abnormal level range from the back, and specifies the head position of the portion corresponding to one or more abnormal connections for which the last storage time has passed (step S2802).
  • the packet analysis apparatus 100 separates a part corresponding to one or more abnormal connections whose final storage time has elapsed from the abnormal level range list 2400 based on the identified head position (step S2803).
  • the packet analysis device 100 subtracts the number of connections in the abnormal level range by the number corresponding to the disconnected part (step S2804). Then, the packet analysis device 100 deletes the abnormal connection information and the abnormal level history 800 (step S2805). Next, the packet analysis device 100 determines whether or not there is an unselected abnormal level range (step S2806). If there is an unselected abnormal level range (step S2806: YES), the packet analysis apparatus 100 returns to the process of step S2801.
  • step S2806 No
  • the packet analysis device 100 ends the deletion process.
  • acquired packets can be accumulated. Further, according to the packet analysis apparatus 100, based on the acquired packet, it is possible to store information related to the communication performance of the connection with which the packet is communicated in association with the information indicating the connection with which the packet is communicated. . Further, according to the packet analysis device 100, information indicating the connection is associated with any one of a plurality of abnormal level ranges including the abnormal level indicating the communication performance of the connection at a predetermined time interval. You can register. Further, according to the packet analysis apparatus 100, the packet transmitted through the connection corresponding to the specific abnormal level range is extracted from the accumulated packets after a certain time has elapsed from the acquisition, and is stored in the save file. Can do.
  • the packet analysis device 100 can analyze various connections between certain devices, networks connecting between certain devices, and the like based on the extracted and stored packets.
  • the packet analysis device 100 does not need to sort based on the abnormal level, and can selectively store packets with a relatively low processing load.
  • the packet analysis device 100 when the abnormal level indicating the communication performance of the first connection is equal to or higher than the threshold, the information indicating the first connection is associated with the abnormal level range including the abnormal level. You can register. As a result, the packet analysis apparatus 100 can easily extract packets communicated through an abnormal connection having a relatively high abnormality level and a relatively high possibility of subsequent and detailed analysis. On the other hand, the packet analysis device 100 prevents a packet transmitted through an abnormal connection having a relatively low abnormality level and a relatively low possibility of subsequent and detailed analysis from being extracted, thereby reducing the storage area. It can be made difficult to occur.
  • the expiration date for the registration state of the information indicating the first connection in the abnormal level range is set as follows: It can be set to a time after a certain time from the current time. Further, according to the packet analysis device 100, until the expiration date, the information indicating the first connection is not associated with the abnormal level range indicating that the communication performance is lower than the currently associated abnormal level range. can do. As a result, the registration unit 1004 indicates that the abnormal level temporarily increases and packets that are preferably stored in the storage file are not stored in the storage file as the abnormal level subsequently decreases. It can be suppressed until the expiration date.
  • the packet analysis device 100 when the abnormal level indicating the communication performance of the first connection increases, the first level is associated with the abnormal level range including the abnormal level indicating the communication performance of the first connection. Information indicating the connection can be re-registered. Further, according to the packet analysis device 100, the expiration date can be reset to a time after a certain time from the current time. Thereby, the packet analysis apparatus 100 can make it easy to preferentially store a packet, which has a high abnormality level and is preferably stored in the storage file, in the storage file. Further, the packet analysis device 100 can easily store the packet in the storage file for a certain period of time after the abnormality level becomes large.
  • the packet analysis device 100 when the abnormal level indicating the communication performance of the first connection is lowered, it is not possible to change the registration state of the information indicating the first connection in the abnormal level range. Thereby, the packet analysis device 100 can prevent the packet communicated through the first connection from being extracted immediately after the abnormal level is lowered.
  • the packet analysis device 100 when the abnormal level indicating the communication performance of the first connection is reduced and still included in the currently associated abnormal level range, the expiration date is determined from the current time. It can be reset to a certain time later. Thereby, the packet analysis apparatus 100 can extract a packet for a longer period and store it in a storage file when the abnormality continues in the abnormal connection.
  • the packet analysis device 100 when the expiration date is reached, information indicating the first connection is obtained based on any one of the abnormal levels indicating the communication performance of the first connection in a predetermined period. And can be re-registered in association with the abnormal level range. Further, the packet analysis device 100 can reset the expiration date to a time after a certain time from the current time. Thereby, the packet analysis apparatus 100 can improve the possibility that an abnormal level that is preferably used when registering abnormal connection information can be used, as compared with the case where only the abnormal level at the current time is used. For this reason, the packet analysis device 100 can more effectively extract packets communicated through an abnormal connection, which are preferably stored in a storage file.
  • the packet analysis device 100 based on the abnormal level indicating the communication performance of the first connection, the retention period for the registration state in one of the abnormal level ranges of the information indicating the first connection is set. be able to. Further, according to the packet analysis device 100, when the retention period has passed, the registration state of the information indicating the first connection in the third storage unit 130 can be deleted. As a result, the packet analysis device 100 stores a packet that has not been stored in the storage file and that is less likely to be used when analyzing the connection and the like after the retention period has expired. You can avoid memorizing.
  • the packet analysis method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • the packet analysis program described in this embodiment is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
  • the packet analysis program described in this embodiment may be distributed via a network such as the Internet.
  • (Supplementary note 1) Accumulate the acquired packets in the first storage unit, Based on the acquired packet, the information related to the communication performance of the connection is stored in the second storage unit in association with the information indicating the connection with which the packet is communicated,
  • the second storage unit is referred to at a predetermined time interval, and for each connection, the index value range including the index value indicating the communication performance of the connection is associated with one of the index value ranges.
  • Register information indicating the connection in the third storage unit With reference to the third storage unit, the packet that has been accumulated in the first storage unit and that has been communicated through a connection corresponding to a specific index value range is extracted from packets that have been acquired for a certain period of time.
  • a packet analysis program for executing processing.
  • the registration process is as follows.
  • the expiration date of the registration state of the information indicating the first connection in the third storage unit is set to a predetermined time from the current time. Set to a later time, Until the expiration date, when the information indicating the first connection is re-registered in the third storage unit, the information indicating the first connection is associated with the information indicating the first connection.
  • the packet analysis program according to appendix 2 characterized in that it is associated with an index value range indicating that the communication performance is lower than an index value range associated with the index value range associated with the information indicating the first connection. .
  • the registration process is as follows.
  • a change in the index value indicating the communication performance of the first connection indicates a decrease in the communication performance of the first connection, it is associated with an index value range including an index value indicating the communication performance of the first connection.
  • Re-registering the information indicating the first connection in the third storage unit The packet analysis program according to appendix 3, wherein the expiration date is reset to a time after a certain time from the current time.
  • the registration process is as follows.
  • the change in the index value indicating the communication performance of the first connection indicates an improvement in the communication performance of the first connection
  • the registration state of the information indicating the first connection in the third storage unit The packet analysis program according to appendix 3 or 4, characterized in that it is not changed.
  • the registration process is as follows.
  • the change in the index value indicating the communication performance of the first connection indicates an improvement in the communication performance of the first connection, and the index value indicating the communication performance of the first connection is the first connection. If it is included in the index value range associated with the information indicating, the expiration date is reset to a time after a certain time from the current time, according to any one of appendices 3 to 5, Packet analysis program.
  • the registration process is as follows.
  • the expiration date is reached, it is associated with one of the index value ranges of the plurality of index value ranges including one of index values indicating the communication performance of the first connection in a predetermined period.
  • Re-registering the information indicating the first connection in the third storage unit The packet analysis program according to any one of appendices 3 to 6, wherein the expiration date is reset to a time after a predetermined time from the current time.
  • the registration process is as follows.
  • the index value indicating the communication performance of the first connection is an index value indicating that the communication performance of the first connection is equal to or lower than a predetermined communication performance
  • the registration state of the information indicating the first connection in the third storage unit Is set to a time after a certain time from the current time
  • (Supplementary note 9) Accumulate the acquired packets in the first storage unit, Based on the acquired packet, the information related to the communication performance of the connection is stored in the second storage unit in association with the information indicating the connection with which the packet is communicated,
  • the second storage unit is referred to at a predetermined time interval, and for each connection, the index value range including the index value indicating the communication performance of the connection is associated with one of the index value ranges.
  • Register information indicating the connection in the third storage unit With reference to the third storage unit, the packet that has been accumulated in the first storage unit and that has been communicated through a connection corresponding to a specific index value range is extracted from packets that have been acquired for a certain period of time.
  • Store in the fourth storage unit A packet analysis method characterized by executing processing.
  • a packet analysis apparatus comprising a control unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】コネクションの通信性能に応じて選択的にパケットを記憶すること。 【解決手段】パケット解析装置100は、取得したパケットを第1の記憶部110に蓄積し、そのパケットが通信されたコネクションを示す情報に対応付けて、そのパケットが通信されたコネクションの通信性能に関する情報を第2の記憶部120に蓄積する。パケット解析装置100は、所定の時間間隔で、あるコネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、そのコネクションを示す情報を第3の記憶部130に登録する。パケット解析装置100は、第3の記憶部130を参照し、第1の記憶部110に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部140に記憶する。

Description

パケット解析プログラム、パケット解析方法、およびパケット解析装置
 本発明は、パケット解析プログラム、パケット解析方法、およびパケット解析装置に関する。
 従来、装置間を流れるパケットを、スイッチやルータなどのミラーリング機能を用いて取得して一時的に蓄積し、蓄積したパケットのうち異常があると判定されたコネクションで通信されたパケットを抽出して保存し、その後解析する技術がある。
 先行技術としては、例えば、重要度の登録されていない障害について、その障害の発生頻度と発生間隔のばらつきとに基づいて障害発生履歴データベースを参照して、その障害の重要度を推定するものがある。また、例えば、影響範囲と経過時間とに基づき、障害レベルテーブルを参照して障害レベルを決定する技術がある。
特開2013-201695号公報 特開2013-30826号公報
 しかしながら、従来技術では、ネットワークのデータ転送レートが大きくなるほど、装置間に生成されるコネクションの数も膨大になり、保存するパケットの数も膨大になってしまい、パケットを保存しておくことが難しい。保存するパケットの数を制限するとしても、どのコネクションで通信されたパケットを優先して保存することが好ましいかを判断することが難しい。
 1つの側面では、本発明は、コネクションの通信性能に応じて選択的にパケットを記憶することができるパケット解析プログラム、パケット解析方法、およびパケット解析装置を提供することを目的とする。
 1つの実施態様によれば、取得したパケットを第1の記憶部に蓄積し、取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶するパケット解析プログラム、パケット解析方法、およびパケット解析装置が提案される。
 本発明の一態様によれば、コネクションの通信性能に応じて選択的にパケットを記憶することができるという効果を奏する。
図1は、実施の形態にかかるパケット解析方法の一実施例を示す説明図である。 図2は、パケット解析システム200の一例を示す説明図である。 図3は、パケット解析装置100のハードウェア構成例を示すブロック図である。 図4は、コネクションテーブル400の記憶内容の一例を示す説明図である。 図5は、インデックステーブル500の記憶内容の一例を示す説明図である。 図6は、L4解析情報テーブル600の記憶内容の一例を示す説明図である。 図7は、異常コネクション情報テーブル700の記憶内容の一例を示す説明図である。 図8は、異常レベル履歴800の記憶内容の一例を示す説明図である。 図9は、異常レベル範囲リスト900の記憶内容の一例を示す説明図である。 図10は、パケット解析装置100の機能的構成例を示すブロック図である。 図11は、パケット解析装置100の具体的な機能的構成例を示すブロック図である。 図12は、パケット解析装置100の第1の動作例を示す説明図である。 図13は、パケット解析装置100の第2の動作例を示す説明図である。 図14は、パケット解析装置100の第3の動作例を示す説明図である。 図15は、異常レベル履歴800に基づく異常レベルの設定の一例を示す説明図である。 図16は、実施例1における格納処理手順の一例を示すフローチャートである。 図17は、実施例1における解析処理手順の一例を示すフローチャートである。 図18は、実施例1における異常判定処理手順の一例を示すフローチャートである。 図19は、実施例1における異常コネクション登録処理手順の一例を示すフローチャートである。 図20は、実施例1における決定処理手順の一例を示すフローチャートである。 図21は、実施例1におけるリスト連結処理手順の一例を示すフローチャートである。 図22は、実施例1における生成処理手順の一例を示すフローチャートである。 図23は、実施例1におけるパケットフィルタ処理手順の一例を示すフローチャートである。 図24は、実施例2における異常レベル範囲リスト2400の記憶内容の一例である。 図25は、実施例2における異常判定処理手順の一例を示すフローチャートである。 図26は、実施例2における異常コネクション登録処理手順の一例を示すフローチャートである。 図27は、実施例2におけるリスト連結処理手順の一例を示すフローチャートである。 図28は、実施例2における削除処理手順の一例を示すフローチャートである。
 以下に、図面を参照して、本発明にかかるパケット解析プログラム、パケット解析方法、およびパケット解析装置の実施の形態を詳細に説明する。
(実施の形態にかかるパケット解析方法の一実施例)
 図1は、実施の形態にかかるパケット解析方法の一実施例を示す説明図である。パケット解析装置100は、ある装置間を流れるパケットに基づいて、その装置間の種々のコネクションやその装置間を結ぶネットワークなどについて解析するコンピュータである。
 ここで、ある装置間を流れるすべてのパケットを比較的長い期間記憶しておき、事後的かつ詳細に、その装置間のコネクションなどについて解析する場合が考えられる。しかしながら、この場合では、記憶しておくパケットの数が膨大になり、パケットを記憶しておくために用いられる記憶領域が不足してしまう可能性がある。このため、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析することができなくなる場合がある。
 これに対し、ある装置間を流れるパケットのうち、異常があると判定されたコネクションで通信されたパケットに限って抽出し、比較的長い期間記憶しておき、事後的かつ詳細に、その装置間のコネクションなどについて解析する場合が考えられる。しかしながら、この場合であっても、10~100Gbps(Giga bits per second)の高速ネットワークでは、記憶しておくパケットの数が膨大になり、パケットを記憶しておくために用いられる記憶領域が不足してしまう可能性がある。このため、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析することができなくなる場合がある。
 また、これに対し、ある装置間の複数のコネクションを所定の基準でソートすることにより、その装置間のいずれのコネクションで通信されたパケットを優先して抽出し、比較的長い期間記憶しておくかを判断する場合も考えられる。しかしながら、この場合、パケットの抽出にかかる処理負荷および処理時間の増大化を招いてしまう。そして、処理時間の増大化により、パケットバッファからパケットが削除されるまでに、そのパケットを抽出するか否かを判断することができない可能性がある。このため、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析することができなくなる場合がある。
 そこで、本実施の形態では、コネクションの通信性能を示す指標値を、予め用意した複数の指標値範囲のいずれかに対応付けることにより、比較的低い処理負荷で、選択的にパケットを記憶することができるパケット解析方法について説明する。
 図1の例では、パケット解析装置100は、第1の記憶部110と、第2の記憶部120と、第3の記憶部130と、第4の記憶部140とを有する。第1の記憶部110は、パケットを一時的に蓄積する記憶領域である。第1の記憶部110は、例えば、パケットバッファである。第1の記憶部110に記憶されたパケットは、時間の経過に伴って他のパケットによって上書きされ、削除されてしまう場合がある。
 第2の記憶部120は、あるパケットが通信されたコネクションについて、コネクション情報を記憶する記憶領域である。コネクション情報は、あるパケットが通信されたコネクションを示す情報と、そのパケットが通信されたコネクションの通信性能に関する情報とを対応付けた情報を含む。コネクション情報は、例えば、あるパケットのパケットID
と、そのパケットが通信されたコネクションを示す情報と、そのパケットが通信されたコネクションの通信性能に関する情報とを対応付けた情報を含む。
 コネクションを示す情報は、例えば、そのコネクションに割り振られたコネクションIDである。コネクションの通信性能に関する情報は、例えば、コネクションにおけるパケットロス率、RTT(Round-Trip Time)、および、サーバ遅延などである。コネクションの通信性能に関する情報は、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などから得られる、そのコネクションの異常レベルであってもよい。サーバ遅延は、例えば、サーバが、リクエストを受けてから、リクエストに対応する処理を行い、レスポンスを返すまでの時間である。
 第3の記憶部130は、予め用意した複数の指標値範囲のそれぞれの指標値範囲に対応付けて、いくつかのコネクションを示す情報を登録する記憶領域である。指標値は、例えば、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などに基づいて算出される、そのコネクションの異常レベルである。指標値は、例えば、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などであってもよい。指標値範囲は、例えば、異常レベル範囲である。第3の記憶部130は、パケット解析装置100が、第1の記憶部110から、どのパケットを抽出するかを決定する際に用いられる情報を記憶することができる。
 第4の記憶部140は、パケットを、第1の記憶部110より長い期間記憶することができる記憶領域である。第4の記憶部は、例えば、不揮発メモリ上に用意された保存ファイルである。第4の記憶部140は、パケット解析装置100が、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析する際に用いられるパケットを記憶することができる。
 (1-1)パケット解析装置100は、ミラーリング機能を用いて、ある装置間を流れるパケットを取得し、第1の記憶部110に蓄積する。パケット解析装置100は、例えば、ある装置間を流れるパケット1~14を順次取得し、パケットバッファに蓄積する。これにより、パケット解析装置100は、ある装置間のコネクションや、ある装置間を結ぶネットワークなどについて解析する際に用いられる可能性があるパケットを、一時的に記憶することができる。
 (1-2)パケット解析装置100は、取得したパケットに基づいて、そのパケットが通信されたコネクションを示す情報に対応付けて、そのパケットが通信されたコネクションの通信性能に関する情報を第2の記憶部120に蓄積する。パケット解析装置100は、例えば、パケットを取得する都度、そのパケットに基づいてL4解析を行い、そのパケットが通信されたコネクションについてのコネクション情報を、第2の記憶部120に蓄積する。
 パケット解析装置100は、具体的には、パケット1を取得した際、パケット1が通信されたコネクションAについてコネクション情報を記憶する。これにより、パケット解析装置100は、ある装置間のコネクションを、どの指標値範囲に対応付けるかを決定する際に用いられるコネクション情報を記憶しておくことができる。
 (1-3)パケット解析装置100は、所定の時間間隔で、コネクションごとに、そのコネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、そのコネクションを示す情報を第3の記憶部130に登録する。パケット解析装置100は、例えば、リスト構造を用いて、異常コネクション情報を登録する。異常コネクション情報は、第1の記憶部110から抽出する可能性があるパケットが通信さ
れたコネクションを示す情報を含む。異常コネクション情報は、コネクションを示す情報として、例えば、コネクションIDを含む。
 パケット解析装置100は、具体的には、複数の異常レベル範囲を示す異常レベル範囲リスト150を用意する。パケット解析装置100は、異常レベル範囲リスト150が示すそれぞれの異常レベル範囲に、ポインタ171~175を用いて、異常コネクション情報161~165を対応付けて記憶する。これにより、パケット解析装置100は、比較的低い処理負荷で、パケットバッファから抽出するパケットを選択する際に用いられるコネクション情報を登録しておくことができる。
 (1-4)パケット解析装置100は、所定の時間間隔で、第3の記憶部130を参照し、第1の記憶部110に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出する。特定の指標値範囲は、例えば、対応付けられた異常コネクション情報の数が所定の数以下になる、指標値範囲である。特定の指標値範囲は、例えば、予め設定された上限値から下限値までの範囲であってもよい。
 パケット解析装置100は、例えば、パケットバッファに蓄積した、取得から一定の時間が経過したパケット1~7のうち、特定の異常レベル範囲「91~100」に対応するコネクションA,Cで通信されたパケットps1,ps2を抽出する。また、パケット解析装置100は、例えば、対応付けられた異常コネクション情報の数が4つ以下に限られる異常レベル範囲「81~100」に対応するコネクションA~Dで通信されたパケットを抽出するようにしてもよい。これにより、パケット解析装置100は、パケットバッファからパケットが削除される前に、そのパケットを抽出することができる。また、パケット解析装置100は、第4の記憶部140に記憶するパケットの数を制限することができる。
 (1-5)パケット解析装置100は、抽出したパケットを、第4の記憶部140に記憶する。パケット解析装置100は、例えば、パケットps1,ps2を、第4の記憶部140に記憶する。これにより、パケット解析装置100は、第4の記憶部140に記憶したパケットに基づいて、事後的かつ詳細に、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析することができる。また、パケット解析装置100は、指標値に基づくソートを行わなくてもよく、比較的低い処理負荷で、パケットバッファからパケットを抽出し、第4の記憶部140に記憶することができる。
 また、パケット解析装置100は、第4の記憶部140に記憶するパケットの数を制限することができ、パケットを記憶するために用いられる第4の記憶部140の記憶領域が不足してしまうことを抑制することができる。このため、パケット解析装置100は、記憶領域の不足により、自装置の処理にエラーが発生することを防止することができる。また、パケット解析装置100は、特定の指標値範囲を設定することにより、事後的かつ詳細な、コネクションなどについての解析が行われる際に用いられる可能性が比較的大きいパケットを優先して抽出し、第4の記憶部140に記憶することができる。このため、パケット解析装置100は、パケットバッファから削除される前に、第4の記憶部140に退避されることが好ましいと判断されるパケットを、優先して残しておくことができる。
 また、パケット解析装置100は、図12~図15に後述するように、種々のルールにしたがって、第3の記憶部130に対する異常コネクション情報の登録状態をどのように更新するか、または、いつ更新するかを制御してもよい。これにより、パケット解析装置100は、事後的かつ詳細な、コネクションなどについての解析が行われる際に用いられる可能性が比較的大きいパケットを、さらに効果的に抽出することができる。
 パケット解析装置100は、異常レベル範囲リスト150を、運用用と更新用との2種類用意してもよい。これにより、パケット解析装置100は、異常レベル範囲リスト150を更新しているために、異常レベル範囲リスト150を参照して、いずれかのコネクションで通信されたパケットを抽出する処理の実行を待機しなくてもよいようにすることができる。
(パケット解析システム200の一例)
 次に、図2を用いて、図1に示したパケット解析装置100を適用した、パケット解析システム200の一例について説明する。
 図2は、パケット解析システム200の一例を示す説明図である。図2において、パケット解析システム200は、パケット解析装置100と、クライアント装置220と、サーバ装置230とを含む。パケット解析システム200は、クライアント装置220を複数含んでもよいし、サーバ装置230を複数含んでもよい。
 パケット解析システム200において、クライアント装置220とサーバ装置230とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
 パケット解析装置100は、ネットワーク内に設けられたスイッチまたはTAPなどの中継装置240を介して、クライアント装置220とサーバ装置230との間で通信されるパケットを取得して蓄積する。パケット解析装置100は、例えば、サーバやPC(Personal Computer)である。
 クライアント装置220は、サーバ装置230とのコネクションを生成し、サーバ装置230と通信するコンピュータである。クライアント装置220は、例えば、PC、ノートPC、タブレット端末、スマートフォンなどである。サーバ装置230は、クライアント装置220とのコネクションを生成し、クライアント装置220と通信するコンピュータである。サーバ装置230は、例えば、サーバやPCである。
(パケット解析装置100のハードウェア構成例)
 次に、図3を用いて、パケット解析装置100のハードウェア構成例について説明する。
 図3は、パケット解析装置100のハードウェア構成例を示すブロック図である。図3において、パケット解析装置100は、CPU(Central Processing
 Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
 ここで、CPU301は、パケット解析装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
 ネットワークI/F303は、中継装置240を通じてネットワーク210に接続され
る。そして、ネットワークI/F303は、中継装置240と内部とのインターフェースを司り、中継装置240からのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
 記録媒体I/F304は、CPU301の制御にしたがって記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、磁気ディスクドライブや光ディスクドライブである。記録媒体I/F304は、例えば、USB(Universal Serial Bus)ポートであってもよい。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、磁気ディスクや光ディスクなどである。記録媒体305は、例えば、USBメモリであってもよい。記録媒体305は、パケット解析装置100から着脱可能であってもよい。記録媒体305は、実施の形態にかかるパケット解析プログラムを記憶してもよい。
 パケット解析装置100は、上述した構成部のほか、例えば、SSD(Solid State Drive)や半導体メモリを有してもよい。また、パケット解析装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有してもよい。また、パケット解析装置100は、記録媒体I/F304や記録媒体305を有さなくてもよい。
(コネクションテーブル400の記憶内容)
 次に、図4を用いて、コネクションテーブル400の記憶内容の一例について説明する。コネクションテーブル400は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図4は、コネクションテーブル400の記憶内容の一例を示す説明図である。図4に示すように、コネクションテーブル400は、コネクションIDと、送信元IPと、送信先IPと、プロトコル番号と、送信元ポートと、送信先ポートと、異常コネクション情報ポインタとのフィールドを有する。コネクションテーブル400は、各フィールドに情報を設定されることにより、コネクション情報をレコードとして記憶する。
 コネクションIDのフィールドは、パケット解析装置100が取得したパケットのヘッダ情報から抽出された、そのパケットが通信されたコネクションのコネクションIDが設定される。送信元IPのフィールドは、コネクションIDが示すコネクションにおけるパケットの送信元装置を示す送信元IPアドレスが設定される。送信先IPのフィールドは、コネクションIDが示すコネクションにおけるパケットの送信先装置を示す送信先IPアドレスが設定される。
 プロトコル番号のフィールドは、プロトコルを識別する番号が設定される。送信元ポートのフィールドは、コネクションIDが示すコネクションにおけるパケットの送信元ポートを示すポート番号が設定される。送信先ポートのフィールドは、コネクションIDが示すコネクションにおけるパケットの送信先ポートを示すポート番号が設定される。異常コネクション情報ポインタのフィールドは、コネクションIDが示すコネクションについて異常コネクション情報があれば、その異常コネクション情報へのポインタが設定される。
(インデックステーブル500の記憶内容)
 次に、図5を用いて、インデックステーブル500の記憶内容の一例について説明する。インデックステーブル500は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図5は、インデックステーブル500の記憶内容の一例を示す説明図である。図5に示すように、インデックステーブル500は、ライトポインタと、リードポインタと、パケットIDと、コネクションIDと、受信日時とのフィールドを有する。インデックステーブル500は、パケットIDと、コネクションIDと、受信日時とのフィールドに情報を設定されることにより、インデックス情報をレコードとして記憶する。
 ライトポインタのフィールドは、次に書き込みされるレコードを指定するライトポインタが設定される。ライトポインタは、1以上、インデックステーブル500のレコードの最大数以下の値である。ライトポインタは、インデックステーブル500への書き込みが行われる都度、1ずつ加算される。ライトポインタの値は、指定するレコードが、先頭から何番目のレコードであるかを示す値である。
 リードポインタのフィールドは、次に読み出されるレコードを指定するリードポインタが設定される。リードポインタは、1以上、インデックステーブル500のレコードの最大数以下の値である。リードポインタは、インデックステーブル500からの読み出しが行われる都度、1ずつ加算される。リードポインタの値は、指定するレコードが、先頭から何番目のレコードであるかを示す値である。
 パケットIDのフィールドは、パケット解析装置100が取得したパケットを管理するため、パケット解析装置100が取得したパケットのパケットIDが設定される。コネクションIDのフィールドは、パケット解析装置100が取得したパケットのヘッダ情報から抽出された、そのパケットが通信されたコネクションのコネクションIDが設定される。受信日時のフィールドは、パケット解析装置100がパケットを取得した日時が設定される。
(L4解析情報テーブル600の記憶内容)
 次に、図6を用いて、L4解析情報テーブル600の記憶内容の一例について説明する。L4解析情報テーブル600は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図6は、L4解析情報テーブル600の記憶内容の一例を示す説明図である。図6に示すように、L4解析情報テーブル600は、コネクションIDと、送信側パケット数と、送信側バイト数と、送信側ロス数と、受信側パケット数と、受信側バイト数と、受信側ロス数と、RTT平均値と、サーバ遅延平均値とのフィールドを有する。L4解析情報テーブル600は、各フィールドに情報を設定されることにより、L4解析情報をレコードとして記憶する。
 コネクションIDのフィールドは、パケット解析装置100が取得したパケットのヘッダ情報から抽出された、そのパケットが通信されたコネクションのコネクションIDが設定される。送信側パケット数のフィールドは、コネクションIDが示すコネクションにおいて、送信側装置から送信されたパケットの数が設定される。送信側バイト数のフィールドは、コネクションIDが示すコネクションにおいて、送信側装置から送信されたパケットのバイト数の累計が設定される。送信側ロス数のフィールドは、コネクションIDが示すコネクションにおいて、送信側装置から送信されたパケットのうち、喪失されたパケットの数が設定される。
 受信側パケット数のフィールドは、コネクションIDが示すコネクションにおいて、受信側装置に受信されたパケットの数が設定される。受信側バイト数のフィールドは、コネクションIDが示すコネクションにおいて、受信側装置に受信されたパケットのバイト数の累計が設定される。受信側ロス数のフィールドは、コネクションIDが示すコネクショ
ンにおいて、送信側装置から送信されたパケットのうち、受信側装置に受信されなかったパケットの数が設定される。RTT平均値のフィールドは、コネクションIDが示すコネクションにおけるRTT平均値が設定される。サーバ遅延平均値のフィールドは、コネクションIDが示すコネクションにおけるサーバ遅延平均値が設定される。サーバ遅延は、例えば、サーバ装置230が、クライアント装置220からのリクエストを受けてから、リクエストに対応する処理を行い、クライアント装置220へとレスポンスを返すまでの時間である。
(異常コネクション情報テーブル700の記憶内容)
 次に、図7を用いて、異常コネクション情報テーブル700の記憶内容の一例について説明する。異常コネクション情報テーブル700は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図7は、異常コネクション情報テーブル700の記憶内容の一例を示す説明図である。図7に示すように、異常コネクション情報テーブル700は、コネクションIDと、コネクション情報ポインタと、最終保存時刻と、異常レベルと、異常レベル有効期限と、異常レベル履歴ポインタとのフィールドを有する。異常コネクション情報テーブル700は、各フィールドに情報を設定されることにより、異常コネクション情報をレコードとして記憶する。
 コネクションIDのフィールドは、異常があると判定され、抽出される可能性があるパケットが通信された異常コネクションのコネクションIDが設定される。コネクション情報ポインタのフィールドは、異常コネクションと同じコネクションIDが設定された、コネクションテーブル400のコネクション情報へのポインタが設定される。
 最終保存時刻のフィールドは、コネクションIDが示すコネクションで通信されたパケットを抽出し続ける期間の終点となる時刻を示す最終保存時刻が設定される。異常レベルのフィールドは、コネクションIDが示すコネクションについて算出された異常レベルが設定される。異常レベル有効期限のフィールドは、設定した異常レベルを、その異常レベルより小さい異常レベルで更新することを防止する期間の終点となる時刻を示す異常レベル有効期限が設定される。異常レベル履歴ポインタのフィールドは、コネクションIDが示すコネクションについて過去に算出された異常レベルを蓄積する異常レベル履歴へのポインタが設定される。
(異常レベル履歴800の記憶内容)
 次に、図8を用いて、異常レベル履歴800の記憶内容の一例について説明する。異常レベル履歴800は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図8は、異常レベル履歴800の記憶内容の一例を示す説明図である。図8に示すように、異常レベル履歴800は、個数と、次回書込位置と、時刻と、異常レベルとのフィールドを有する。異常レベル履歴800は、時刻と、異常レベルとに情報を設定されることにより、履歴情報をレコードとして記憶する。
 個数のフィールドは、異常レベル履歴800のレコードの最大数が設定される。次回書込位置のフィールドは、次に書き込みされるレコードを指定するポインタが設定される。時刻のフィールドは、あるコネクションについて異常レベルを算出した時刻が設定される。異常レベルのフィールドは、あるコネクションについて算出された異常レベルが設定される。異常レベル履歴800は、異常コネクションごとに用意される。
(異常レベル範囲リスト900の記憶内容)
 次に、図9を用いて、異常レベル範囲リスト900の記憶内容の一例について説明する。異常レベル範囲リスト900は、例えば、図3に示したパケット解析装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図9は、異常レベル範囲リスト900の記憶内容の一例を示す説明図である。図9に示すように、異常レベル範囲リスト900は、範囲上限と、範囲下限と、コネクション数と、リスト先頭ポインタと、リスト末端ポインタとのフィールドを有する。異常レベル範囲リスト900は、さらに、異常レベル範囲に対応付けるアイテムを有する。異常レベル範囲リスト900は、各フィールドに情報を設定されることにより、異常レベル範囲情報をレコードとして記憶する。
 範囲上限のフィールドは、異常レベル範囲の上限値が設定される。範囲下限のフィールドは、異常レベル範囲の下限値が設定される。異常レベル範囲は、例えば、上限値未満、かつ、下限値以上の範囲である。異常レベル範囲は、上限値が100である場合、上限値以下の範囲であってもよい。コネクション数のフィールドは、異常レベル範囲に対応付ける、異常コネクション情報ポインタの数が設定される。
 リスト先頭ポインタのフィールドは、異常レベル範囲に対応付ける、1以上の異常コネクション情報ポインタのうち、先頭の異常コネクション情報ポインタを含んでいるアイテムを指定する、リスト先頭ポインタが設定される。リスト末端ポインタのフィールドは、異常レベル範囲に対応付ける、1以上の異常コネクション情報ポインタのうち、末端の異常コネクション情報ポインタを含んでいるアイテムを指定する、リスト末端ポインタが設定される。
 アイテムは、異常コネクションごとに存在し、異常コネクション情報ポインタと、次アドレスとのフィールドを有する。異常コネクション情報ポインタのフィールドは、異常レベル範囲に対応付ける異常コネクションの異常コネクション情報へのポインタが設定される。次アドレスのフィールドは、異常コネクションの次に、同じ異常レベル範囲に対応付けられる他の異常コネクションについてのアイテムへのポインタが設定される。
(パケット解析装置100の機能的構成例)
 次に、図10を用いて、パケット解析装置100の機能的構成例について説明する。
 図10は、パケット解析装置100の機能的構成例を示すブロック図である。図10に示すように、パケット解析装置100は、記憶部1001と、取得部1002と、解析部1003と、登録部1004と、保存部1005とを含む。
 記憶部1001は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。取得部1002~保存部1005は、制御部となる機能である。取得部1002~保存部1005は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
 記憶部1001は、第1の記憶部110を実現する。記憶部1001は、例えば、リングバッファ構造でパケットバッファを実現し、パケットを一時的に記憶する。記憶部1001は、具体的には、インデックステーブル500を用いて、パケットバッファを管理し、第1の記憶部110を実現する。これにより、記憶部1001は、コネクションに異常
があると判定した際に、判定時よりも前にそのコネクションで通信されていたパケットを読み出し可能にすることができる。
 記憶部1001は、第2の記憶部120を実現する。記憶部1001は、例えば、あるパケットが通信されたコネクションについてのコネクション情報を記憶する。コネクション情報は、あるパケットが通信されたコネクションを示す情報と、そのパケットが通信されたコネクションの通信性能に関する情報とを対応付けた情報を含む。コネクション情報は、例えば、あるパケットのパケットIDと、そのパケットが通信されたコネクションを示す情報と、そのパケットが通信されたコネクションの通信性能に関する情報とを対応付けた情報を含む。
 コネクションを示す情報は、例えば、そのコネクションに割り振られたコネクションIDである。コネクションの通信性能に関する情報は、例えば、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などである。コネクションの通信性能に関する情報は、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などから得られる、そのコネクションの異常レベルであってもよい。サーバ遅延は、例えば、サーバ装置230が、クライアント装置220からのリクエストを受けてから、リクエストに対応する処理を行い、クライアント装置220へとレスポンスを返すまでの時間である。サーバ遅延は、具体的には、パケット解析装置100で、サーバ装置230がクライアント装置220から受けるリクエストに相当するパケットを取得した時点から、サーバ装置230がクライアント装置220へと返すレスポンスに相当するパケットを取得した時点までの時間である。記憶部1001は、具体的には、L4解析情報テーブル600を用いて、第2の記憶部120を実現する。これにより、記憶部1001は、ある装置間のコネクションが、異常コネクションであるか否かを判定する際に用いられる情報を記憶しておくことができる。
 記憶部1001は、第3の記憶部130を実現する。記憶部1001は、例えば、予め用意した複数の指標値範囲のそれぞれの指標値範囲に対応付けて、いくつかのコネクションを示す情報を登録する。指標値は、例えば、コネクションにおけるパケットロス率、RTT、および、サーバ遅延などに基づいて算出される、そのコネクションの異常レベルである。指標値範囲は、例えば、異常レベル範囲である。記憶部1001は、具体的には、異常レベル範囲リスト900を用いて、第3の記憶部130を実現する。これにより、記憶部1001は、パケット解析装置100が、第1の記憶部110から、どのパケットを抽出するかを決定する際に用いられる情報を記憶することができる。
 記憶部1001は、第4の記憶部140を実現する。記憶部1001は、例えば、パケットを、第1の記憶部110より長い期間記憶する。これにより、記憶部1001は、パケット解析装置100が、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析する際に用いられるパケットを記憶することができる。
 取得部1002は、ある装置間を流れるパケットを取得する。取得部1002は、パケットを取得する都度、そのパケットを第1の記憶部110に蓄積する。取得部1002は、例えば、中継装置240のミラーリング機能を用いて、ある装置間を流れるパケットを取得し、第1の記憶部110に蓄積するとともに、インデックステーブル500を作成する。これにより、取得部1002は、ある装置間のコネクションや、ある装置間を結ぶネットワークなどについて解析する際に用いられる可能性があるパケットを、一時的に記憶し、管理することができる。
 解析部1003は、取得部1002が取得したパケットに基づいて、そのパケットが通信されたコネクションを示す情報に対応付けて、そのパケットが通信されたコネクション
の通信性能に関する情報を第2の記憶部120に蓄積する。パケット解析装置100は、例えば、パケットを取得する都度、そのパケットに基づいてL4解析を行い、そのパケットが通信されたコネクションについてのコネクション情報を、コネクションテーブル400に記憶する。これにより、解析部1003は、ある装置間のコネクションを、どの指標値範囲に対応付けるかを決定する際に用いられるコネクション情報を記憶しておくことができる。
 登録部1004は、所定の時間間隔で、第2の記憶部120を参照し、コネクションごとに、そのコネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、そのコネクションを示す情報を第3の記憶部130に登録する。登録部1004は、例えば、5秒ごとに、ある装置間に生成されているコネクションの異常レベルを含む、異常レベル範囲リスト900が示す複数の異常レベル範囲のうちのいずれかに対応付けて、そのコネクションに対応する異常コネクション情報を登録する。異常コネクション情報は、抽出する可能性があるパケットが通信されたコネクションを示す情報を含む。異常コネクション情報は、コネクションを示す情報として、例えば、コネクションIDを含む。これにより、登録部1004は、比較的低い処理負荷で、パケットバッファから抽出するパケットを選択する際に用いられるコネクション情報を登録しておくことができる。
 登録部1004は、例えば、第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値であるか否かを判定する。登録部1004は、所定の通信性能以下であることを示す指標値である場合に、当該指標値を含む複数の指標値範囲のいずれかの指標値範囲に対応付けて、第1のコネクションを示す情報を第3の記憶部130に登録する。登録部1004は、具体的には、第1のコネクションの異常レベルが閾値以上である場合、その異常レベルを含む異常レベル範囲に対応付けて、第1のコネクションに対応する異常コネクション情報を登録する。これにより、登録部1004は、異常レベルが比較的大きく、事後的かつ詳細な解析が行われる可能性が比較的大きい異常コネクションで通信されたパケットは抽出されやすくすることができる。一方で、登録部1004は、異常レベルが比較的小さく、事後的かつ詳細な解析が行われる可能性が比較的小さい異常コネクションで通信されたパケットは抽出されないようにして、保存ファイルの記憶領域の不足を発生しにくくすることができる。
 登録部1004は、例えば、第1のコネクションを示す情報を第3の記憶部130に登録した場合、第1のコネクションを示す情報の第3の記憶部130への登録状態についての有効期限を、現在時刻から一定時間後の時刻に設定する。登録部1004は、有効期限までは、第1のコネクションを示す情報を、現在対応付けている異常レベル範囲より通信性能が低いことを示す異常レベル範囲に対応付けられないようにすることができる。これにより、登録部1004は、異常レベルが一時的に大きくなった異常コネクションで通信され、保存ファイルに記憶しておくことが好ましいパケットが、異常レベルの低下に伴って保存ファイルに記憶されなくなることを、有効期限までは抑制することができる。
 登録部1004は、第1のコネクションの通信性能を示す指標値の変化が、第1のコネクションの通信性能の低下を示すか否かを判定する。登録部1004は、第1のコネクションの通信性能の低下を示す場合、第1のコネクションの通信性能を示す指標値を含む指標値範囲に対応付けて、第1のコネクションを示す情報を第3の記憶部130に登録し直す。また、登録部1004は、有効期限を、現在時刻から一定時間後の時刻に設定し直す。登録部1004は、具体的には、異常コネクションの異常レベルが増加した場合、その異常コネクションの異常コネクション情報を、その異常レベルを含む異常レベル範囲に対応付け直す。これにより、登録部1004は、異常レベルが大きくなり、さらに保存ファイルに記憶しておくことが好ましくなったパケットを、優先して保存ファイルに記憶され
やすくすることができる。また、登録部1004は、異常レベルが大きくなってから一定時間は、パケットが保存ファイルに記憶されやすくすることができる。
 登録部1004は、例えば、第1のコネクションの通信性能を示す指標値の変化が、第1のコネクションの通信性能の向上を示す場合、第1のコネクションを示す情報の第3の記憶部130への登録状態について変更しない。登録部1004は、具体的には、第1のコネクションの通信性能を示す異常レベルが低下した場合、第1のコネクションを示す情報の異常レベル範囲への登録状態について変更しないことができる。これにより、パケット解析装置100は、異常レベルが低下した直後に、第1のコネクションで通信されたパケットが抽出されなくなってしまうことを防止することができる。
 登録部1004は、例えば、第1のコネクションの通信性能を示す指標値の変化が、第1のコネクションの通信性能の向上を示し、かつ、現在第1のコネクションを示す情報に対応付けている指標値範囲に含まれるか否かを判定する。登録部1004は、向上を示し、かつ、含まれると判定した場合、有効期限を、現在時刻から一定時間後の時刻に設定し直す。登録部1004は、具体的には、第1のコネクションの通信性能を示す異常レベルが低下し、かつ、現在対応付けている異常レベル範囲に含まれる場合、有効期限を、現在時刻から一定時間後の時刻に設定し直す。これにより、登録部1004は、異常コネクションに異常が継続している場合には、より長い期間パケットを抽出し、保存ファイルに記憶するようにすることができる。
 登録部1004は、例えば、有効期限になった場合、所定の期間における第1のコネクションの通信性能を示す複数の指標値のいずれかの指標値を含むいずれかの指標値範囲に対応付けて、第1のコネクションを示す情報を第3の記憶部130に登録し直す。登録部1004は、有効期限を、現在時刻から一定時間後の時刻に設定し直す。登録部1004は、具体的には、異常レベル履歴800を参照し、異常レベル履歴800内で最大の異常レベルを用いて、第1のコネクションを示す情報を登録し直す。これにより、登録部1004は、現時刻の異常レベルだけを用いる場合に比べ、異常コネクション情報を登録する際に用いられることが好ましい異常レベルを用いることができる可能性を向上することができる。このため、登録部1004は、より効果的に、保存ファイルに記憶することが好ましい、異常コネクションで通信されたパケットを抽出しやすくすることができる。
 登録部1004は、例えば、第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値であるか否かを判定する。登録部1004は、所定の通信性能以下であることを示す指標値である場合に、第1のコネクションを示す情報の第3の記憶部130への登録状態についての保持期限を、現在時刻から一定時間後の時刻に設定する。登録部1004は、保持期限を過ぎた場合、第1のコネクションを示す情報の第3の記憶部130への登録状態を削除する。これにより、登録部1004は、保持期限を過ぎ、事後的かつ詳細にコネクションなどを解析する際に用いられる可能性が小さくなった、保存ファイルに記憶しておかなくてよいパケットを、保存ファイルに記憶しないようにすることができる。そして、登録部1004は、保存ファイルに記憶するパケットの数の増大化を抑制することができる。
 保存部1005は、第3の記憶部130を参照し、第1の記憶部110に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部140に記憶する。特定の指標値範囲は、例えば、対応付けられた異常コネクション情報の数が所定の数以下になる、1または複数の指標値範囲の集まりである。特定の指標値範囲は、例えば、予め設定された上限値から下限値までの範囲であってもよい。
 保存部1005は、例えば、パケットバッファに蓄積した、取得から一定の時間が経過したパケットのうち、特定の異常レベル範囲「91~100」に対応する異常コネクションで通信されたパケットを抽出し、保存ファイルに記憶する。これにより、保存部1005は、パケットバッファからパケットが削除される前に、そのパケットを抽出することができる。また、保存部1005は、抽出するパケットの数を制限することができる。
 また、保存部1005は、例えば、パケットが抽出される異常コネクションの数が所定の数以下になるように特定の異常レベル範囲を設定し、特定の異常レベル範囲に対応する異常コネクションで通信されたパケットを抽出するようにしてもよい。これにより、保存部1005は、パケットバッファからパケットが削除される前に、そのパケットを抽出することができる。また、保存部1005は、抽出するパケットの数を制限することができる。
 保存部1005は、さらに、第4の記憶部140に記憶した結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、所定の解析ソフトウェアへの出力などである。所定の解析ソフトウェアは、例えば、ある装置間のコネクションや、ある装置間を結ぶネットワーク210などについて解析するソフトウェアである。これにより、保存部1005は、ユーザ、外部装置、または所定の解析ソフトウェアなどに、ある装置間のコネクションや、ある装置間を結ぶネットワーク210などについて解析させることができる。
(パケット解析装置100の具体的な機能的構成例)
 次に、図11を用いて、パケット解析装置100の具体的な機能的構成例について説明する。
 図11は、パケット解析装置100の具体的な機能的構成例を示すブロック図である。図11に示すように、パケット解析装置100は、NIC(Network Interface Card)1101と、ドライバ1102と、パケットバッファ1103とを有する。NIC1101は、スイッチやTAPなどの中継装置240のミラーリング機能を用いて、ある装置間を流れるパケットを取得する。NIC1101は、取得したパケットをドライバ1102に出力する。ドライバ1102は、パケットを入力され、そのパケットをパケットバッファ1103に蓄積する。パケットバッファ1103は、リングバッファ構造であり、パケットを比較的短い期間記憶しておく。
 また、パケット解析装置100は、L4解析1104と、インデックス作成1105と、インデックステーブル1106(500)とを有する。L4解析1104は、パケットバッファ1103にパケットが記憶されると、そのパケットに基づいて、そのパケットが通信されたコネクションについて解析し、L4解析情報テーブル600を更新する。L4解析1104は、例えば、そのパケットが通信されたコネクションについて、送信側パケット数と、送信側バイト数と、送信側ロス数と、受信側パケット数と、受信側バイト数と、受信側ロス数と、RTT平均値と、サーバ遅延平均値となどを算出する。インデックス作成1105は、パケットバッファ1103にパケットが記憶されると、そのパケットのヘッダ情報に基づいて、パケットIDとコネクションIDと受信日時とを対応付けたレコードを、インデックステーブル1106(500)に記憶する。
 また、パケット解析装置100は、L4異常判定1107と、異常コネクション情報テーブル1108(700)と、異常レベル範囲リスト1109(900)と、L4統計1110と、統計情報1111とを有する。L4異常判定1107は、L4解析情報テーブル600を参照して、あるパケットが通信されたコネクションが、異常コネクションであるか否かを判定する。L4異常判定1107は、異常コネクションである場合、異常コネ
クション情報テーブル1108(700)と、異常レベル範囲リスト1109(900)とを更新する。L4統計1110は、L4解析情報テーブル600を参照して、統計情報1111を更新する。
 また、パケット解析装置100は、L7解析1112と、L7異常判定1113と、L7統計1114とを有する。L7解析1112は、パケットバッファ1103やL4解析情報テーブル600を参照し、レイヤー7に関して解析する。L7異常判定1113は、レイヤー7に関する解析結果を参照して、あるパケットが通信されたコネクションが、異常コネクションであるか否かを判定する。L7異常判定1113は、異常コネクションである場合、異常コネクション情報テーブル1108(700)と、異常レベル範囲リスト1109(900)とを更新する。L7統計1114は、レイヤー7に関する解析結果を参照して、統計情報1111を更新する。
 また、パケット解析装置100は、パケットフィルタ1115と、パケット保存1116と、保存ファイル1117とを有する。パケットフィルタ1115は、インデックステーブル1106(500)を参照し、取得から一定の時間が経過したパケットを選択する。パケットフィルタ1115は、異常コネクション情報テーブル1108(700)を参照し、選択したパケットを抽出して保存ファイル1117に記憶するか否かを判定する。パケットフィルタ1115は、抽出して記憶すると判定すると、選択したパケットを抽出して、パケット保存1116に出力する。パケット保存1116は、そのパケットを、保存ファイル1117に書き込む。
(実施例1)
 次に、図12~図15を用いて、実施例1におけるパケット解析装置100の動作例について説明する。まず、図12を用いて、実施例1におけるパケット解析装置100の第1の動作例について説明する。
 図12は、パケット解析装置100の第1の動作例を示す説明図である。図12の例では、説明の簡略化のため、パケット解析装置100が、時刻9:59:35~10:01:00において、コネクション1とコネクション2とのうち、いずれのコネクションで通信されたパケットを優先して記憶するかについて説明する。パケット解析装置100は、5秒ごとに、異常レベル範囲リスト900に対応付ける異常コネクション情報を更新する。
 まず、時刻が9:59:35になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションではないと決定する。
 同様に、時刻が9:59:40~9:59:55では、パケット解析装置100は、5秒ごとに、新たに取得したコネクション1,2のパケットをパケットバッファに記憶し、コネクション1,2が異常コネクションではないと決定する。
 次に、時刻が10:00:00になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レ
ベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「55」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、生成したコネクション1についての異常コネクション情報を登録する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「65」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「65」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、生成したコネクション2についての異常コネクション情報を登録する。
 次に、時刻が10:00:05になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「80」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが「55」から「80」に増加したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の異常レベルを新たに算出した異常レベル「80」に更新する。パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:00:45」に更新する。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが低下したため、コネクション2についての異常コネクション情報の異常レベル「65」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保
存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:10になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:35~9:59:40にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが低下したため、コネクション2についての異常コネクション情報の異常レベル「65」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:15になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:40~9:59:45にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「5
0」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが低下したため、コネクション2についての異常コネクション情報の異常レベル「65」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:20になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:45~9:59:50にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションではないと決定する。
 同様に、時刻が10:00:25~10:00:35では、パケット解析装置100は、取得から30秒経過したパケットのうち、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。また、パケット解析装置100は、コネクション1,2が異常コネクションではないと決定する。
 次に、時刻が10:00:40になる。ここで、パケット解析装置100は、パケット
バッファに、過去の時刻10:00:05~10:00:10にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション2についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:10」の異常レベル「55」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:10」の40秒後の時刻「10:00:50」に更新する。パケット解析装置100は、例えば、コネクション2についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:45になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:10~10:00:15にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:10」の異常レベル「65」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:10」の40秒後の時刻「10:00:50」に更新する。パケット解析装置100は、例えば、コネクション1についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:50になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:15~10:00:20にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:15」の異常レベル「60」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:15」の40秒後の時刻「10:00:55」に更新する。パケット解析装置100は、例えば、コネクション1についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション2についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:15」の異常レベル「50」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:15」の40秒後の時刻「10:00:55」に更新する。パケット解析装置100は、例えば、コネクション2についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:55になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:20~10:00:25にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1,2についての異常コネクション情報の最終保存時刻になったことを検出する。パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲に対応付けて登録した、コネクション1,2についての異常コネクション情報を削除する。
 これにより、パケット解析装置100は、複数の異常コネクションで通信されたパケットのうち、保存ファイルに記憶しておくことが相対的に好ましい方の異常コネクションで通信されたパケットを優先して、保存ファイルに記憶することができる。
 ここで、複数の異常コネクションのうち、最初に閾値を超えたときの異常レベルに基づいて、どの異常コネクションで通信されたパケットを記憶するか決定する場合が考えられる。しかしながら、この場合を図12の例に適用すると、異常レベルの最大値が相対的に大きいコネクション1で通信されたパケットより、異常レベルの最大値が相対的に小さい
コネクション2で通信されたパケットを優先して記憶してしまうことがある。これに対し、パケット解析装置100は、異常レベルの最大値が相対的に大きいコネクション1で通信されたパケットを優先して記憶することができる。
 次に、図13を用いて、実施例1におけるパケット解析装置100の第2の動作例について説明する。
 図13は、パケット解析装置100の第2の動作例を示す説明図である。図13の例では、説明の簡略化のため、パケット解析装置100が、時刻9:59:35~時刻10:01:00において、コネクション1とコネクション2とのうち、いずれのコネクションで通信されたパケットを優先して記憶するかについて説明する。パケット解析装置100は、5秒ごとに、異常レベル範囲リスト900に対応付ける異常コネクション情報を更新する。
 まず、時刻が9:59:35になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションではないと決定する。
 同様に、時刻が9:59:40~9:59:55では、パケット解析装置100は、新たに取得したコネクション1,2のパケットをパケットバッファに記憶し、コネクション1,2が異常コネクションではないと決定する。
 次に、時刻が10:00:00になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「60」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、生成したコネクション1についての異常コネクション情報を登録する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「55」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60
」に対応付けて、生成したコネクション2についての異常コネクション情報を登録する。
 次に、時刻が10:00:05になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「80」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが「55」から「80」に増加したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の異常レベルを新たに算出した異常レベル「80」に更新する。パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:00:45」に更新する。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「55」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:10になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:35~9:59:40にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10
:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが「55」から「60」に増加したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の異常レベルを新たに算出した異常レベル「60」に更新する。パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:00:50」に更新する。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:15になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:40~9:59:45にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが低下したため、コネクション2についての異常コネクション情報の異常レベル「60」と、有効期限「10:00:50」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:20になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:45~9:59:50にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションではないと決定する。
 同様に、時刻が10:00:25~10:00:40では、パケット解析装置100は、取得から30秒経過したパケットのうち、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。また、パケット解析装置100は、コネクション1,2が異常コネクションではないと決定する。
 次に、時刻が10:00:45になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:10~10:00:15にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:10」の異常レベル「55」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:10」の40秒後の時刻「10:00:50」に更新する。パケット解析装置100は、例えば、コネクション1につい
ての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:50になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:15~10:00:20にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:15」の異常レベル「50」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:15」の40秒後の時刻「10:00:55」に更新する。パケット解析装置100は、例えば、コネクション1についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション2についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:15」の異常レベル「55」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション2についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:15」の40秒後の時刻「10:00:55」に更新する。パケット解析装置100は、例えば、コネクション2についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:55になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:20~10:00:25にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1,2についての異常コネクション情報の最終保存時刻になったことを検出する。パケット解析装置100は、異常レベル範囲
リスト900の異常レベル範囲に対応付けて登録した、コネクション1,2についての異常コネクション情報を削除する。
 これにより、パケット解析装置100は、複数の異常コネクションで通信されたパケットのうち、保存ファイルに記憶しておくことが相対的に好ましい方の異常コネクションで通信されたパケットを優先して、保存ファイルに記憶することができる。
 ここで、異常レベルが変化する都度、複数の異常コネクションのうち、相対的に異常レベルが大きい方の異常コネクションで通信されたパケットを記憶するようにする場合が考えられる。しかしながら、この場合を図13の例に適用すると、異常レベルの最大値が相対的に大きいコネクション1で通信されたパケットは、比較的短い期間の分しか記憶されなくなってしまうことがある。これに対し、パケット解析装置100は、コネクション1,2で通信されたパケットを、ある程度の期間の分、記憶しておくことができる。
 次に、図14を用いて、実施例1におけるパケット解析装置100の第3の動作例について説明する。
 図14は、パケット解析装置100の第3の動作例を示す説明図である。図14の例では、説明の簡略化のため、パケット解析装置100が、時刻9:59:35~時刻10:01:25において、コネクション1とコネクション2とのうち、いずれのコネクションで通信されたパケットを優先して記憶するかについて説明する。また、パケット解析装置100は、5秒ごとに、異常レベル範囲リスト900に対応付ける異常コネクション情報を更新する。
 まず、時刻が9:59:35になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションではないと決定する。
 同様に、時刻が9:59:40~9:59:55では、パケット解析装置100は、新たに取得したコネクション1,2のパケットをパケットバッファに記憶し、コネクション1,2が異常コネクションではないと決定する。
 次に、時刻が10:00:00になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「60」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、生成したコネクション1についての異常コネクション情報を登録する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2についての異常コネクション情報を生成する。
 パケット解析装置100は、例えば、算出した異常レベル「55」と、有効期限として現時点から40秒後の時刻「10:00:40」と、最終保存時刻として現時点から40秒後の時刻「10:00:40」とを含む、異常コネクション情報を生成する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、生成したコネクション2についての異常コネクション情報を登録する。
 次に、時刻が10:00:05になる。ここで、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「80」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが「60」から「80」に増加したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の異常レベルを新たに算出した異常レベル「80」に更新する。パケット解析装置100は、例えば、コネクション1の異常レベルが増加したため、コネクション1についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:00:45」に更新する。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「55」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:45」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:10になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:35~9:59:40にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイル
に記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「55」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:50」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:15になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:40~9:59:45にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが変化していないと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが変化していないため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」
に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「55」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:20になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:45~9:59:50にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが変化していないと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが変化していないため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「55」と、有効期限「10:00:40」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:00:55」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」
に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:25になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:50~9:59:55にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが低下したと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが低下したため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:05」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「80~90」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが増加したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の異常レベルを新たに算出した異常レベル「60」に更新する。パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:01:05」に更新する。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:05」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:30になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻9:59:55~10:00:00にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケッ
トバッファに記憶し、コネクション1の異常レベル「55」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションであると決定し、コネクション1の異常レベルが変化していないと判定し、コネクション1についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション1の異常レベルが変化していないため、コネクション1についての異常コネクション情報の異常レベル「80」と、有効期限「10:00:45」とを更新しない。パケット解析装置100は、例えば、コネクション1が異常コネクションであるため、コネクション1についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:10」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「60」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが変化していないと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが変化していないため、コネクション2についての異常コネクション情報の異常レベル「60」と、有効期限「10:01:05」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:10」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 同様に、時刻が10:00:35~10:00:40では、パケット解析装置100は、取得から30秒経過したパケットのうち、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。また、パケット解析装置100は、コネクション1,2が異常コネクションであると決定し、コネクション1,2の異常レベルが変化していないと判定し、コネクション1についての異常コネクション情報の最終保存時刻を更新する。そして、パケット解析装置100は、更新したコネクション1についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:45になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:10~10:00:15にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション1で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:20」の異常レベル「60」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:20」の40秒後の時刻「10:01:00」に更新する。パケット解析装置100は、例えば、コネクション1についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「60~70」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベル「70」を算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが増加したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の異常レベルを新たに算出した異常レベル「70」に更新する。パケット解析装置100は、例えば、コネクション2の異常レベルが増加したため、コネクション2についての異常コネクション情報の有効期限を現時点から40秒後の時刻「10:01:25」に更新する。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:25」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「70~80」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:00:50になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:15~10:00:20にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、新たに取得したコネクション1のパケットをパケットバッファに記憶し、コネクション1の異常レベルを算出し、その異常レベルが閾値「50」未満であると判定する。そして、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。
 また、パケット解析装置100は、新たに取得したコネクション2のパケットをパケットバッファに記憶し、コネクション2の異常レベルを算出し、その異常レベルが閾値「50」以上であると判定する。そして、パケット解析装置100は、コネクション2が異常コネクションであると決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報を更新する。
 パケット解析装置100は、例えば、コネクション2の異常レベルが低下したため、コネクション2についての異常コネクション情報の異常レベル「70」と、有効期限「10:01:25」とを更新しない。パケット解析装置100は、例えば、コネクション2が異常コネクションであるため、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:30」に更新する。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「70~80」に対応付けて、更新したコネクション2についての異常コネクション情報を登録し直す。
 同様に、時刻が10:00:55では、パケット解析装置100は、取得から30秒経過したパケットのうち、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。また、パケット解析装置100は、コネクション1が異常コネクションではないと決定する。また、パケット解析装置100は、コネクション2を異常コネクションに決定し、コネクション2の異常レベルが低下したと判定し、コネクション2についての異常コネクション情報の最終保存時刻を現時点から40秒後の時刻「10:01:35」に更新する。そして、パケット解析装置100は、更新したコネクション2についての異常コネクション情報を登録し直す。
 次に、時刻が10:01:00になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:25~10:00:30にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:25」の異常レベル「55」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:25」の40秒後の時刻「10:01:05」に更新する。パケット解析装置100は、例えば、コネクション1についての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 次に、時刻が10:01:05になる。ここで、パケット解析装置100は、パケットバッファに、過去の時刻10:00:30~10:00:35にコネクション1,2で通信され、取得から30秒経過したパケットがあると判定する。そして、パケット解析装置100は、取得から30秒経過したパケットのうち、相対的に大きい異常レベル範囲に対応付けられた異常コネクションで通信されたパケットを優先して保存ファイルに記憶する。パケット解析装置100は、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限になったことを検出する。パケット解析装置100は、異常レベル履歴800に基づいて、コネクション1についての異常コネクション情報の異常レベルを、異常レベル履歴800に記憶された時刻「10:00:25」の異常レベル「55」に更新する。パケット解析装置100が、異常レベル履歴800に基づいて、異常レベルを更新する詳細については、図15を用いて後述する。
 また、パケット解析装置100は、コネクション1についての異常コネクション情報の有効期限を、異常レベル履歴800の時刻「10:00:25」の40秒後の時刻「10:01:05」に更新する。パケット解析装置100は、例えば、コネクション1につい
ての異常コネクション情報の最終保存時刻を更新しない。そして、パケット解析装置100は、異常レベル範囲リスト900の異常レベル範囲「50~60」に対応付けて、更新したコネクション1についての異常コネクション情報を登録し直す。
 次に、時刻が10:01:10~10:01:25では、パケット解析装置100は、取得から30秒経過したパケットのうち、コネクション2で通信されたパケットを優先して保存ファイルに記憶する。
 これにより、パケット解析装置100は、複数の異常コネクションで通信されたパケットのうち、保存ファイルに記憶しておくことが相対的に好ましい方の異常コネクションで通信されたパケットを優先して、保存ファイルに記憶することができる。
 ここで、複数の異常コネクションのうち、現時点までの異常レベルの最大値に基づいて、どの異常コネクションで通信されたパケットを記憶するか決定する場合が考えられる。しかしながら、この場合を図14の例に適用すると、異常レベルの最大値が小さいコネクション2で通信されたパケットは、保存ファイルに記憶されないことがある。これに対し、パケット解析装置100は、コネクション1,2で通信されたパケットを、それぞれ、記憶することができる。
 次に、図15を用いて、異常レベル履歴800に基づく異常レベルの設定の一例について説明する。
 図15は、異常レベル履歴800に基づく異常レベルの設定の一例を示す説明図である。図15に示すように、パケット解析装置100は、所定の個数分の、過去に算出された異常レベルを、異常レベル履歴800に記憶しておく。そして、パケット解析装置100は、異常レベル履歴800に基づく異常レベルの設定を行う際には、異常レベル履歴800に記憶された異常レベルのうちの最大値を、新たな異常レベルとして設定することになる。
 パケット解析装置100は、例えば、時刻9:59:55以降、5秒ごとに、異常レベルを算出し、異常レベル履歴800に記憶している。パケット解析装置100は、異常レベル履歴800に、8個の異常レベルがある場合、最も古い異常レベルに、新たに算出した異常レベルを上書きし、最新の8個の異常レベルを記憶しておく。
 パケット解析装置100は、例えば、時刻10:00:45に、異常レベル履歴800に基づく異常レベルの設定を行う際には、異常レベル履歴800に記憶された時刻10:00:10~10:00:45の複数の異常レベルのうちの最大値「60」を設定する。パケット解析装置100は、最大値が複数ある場合、複数の最大値のうち、最も新しく記憶された最大値を用いる。パケット解析装置100は、最大値を設定した場合、その最大値が算出された時刻に基づいて、有効期限を更新する。
 これにより、パケット解析装置100は、現時刻の異常レベルだけを用いる場合に比べ、異常コネクション情報を登録する際に用いられることが好ましい異常レベルを用いることができる可能性を向上することができる。このため、パケット解析装置100は、より効果的に、保存ファイルに記憶することが好ましい、異常コネクションで通信されたパケットを抽出しやすくすることができる。
(実施例1における格納処理手順の一例)
 次に、図16を用いて、実施例1におけるパケット解析装置100が実行する格納処理手順の一例について説明する。
 図16は、実施例1における格納処理手順の一例を示すフローチャートである。図16において、パケット解析装置100は、ミラーリングを用いて、パケットを受信する(ステップS1601)。次に、パケット解析装置100は、受信したパケットに、パケットIDを割り当てる(ステップS1602)。そして、パケット解析装置100は、受信したパケットと、割り当てたパケットIDと、受信時刻とを対応付けて、パケットバッファに格納する(ステップS1603)。
 次に、パケット解析装置100は、受信したパケットについての格納通知を出力する(ステップS1604)。そして、パケット解析装置100は、格納処理を終了する。これにより、パケット解析装置100は、受信したパケットを、パケットバッファに一時的に蓄積することができる。
(実施例1における解析処理手順の一例)
 次に、図17を用いて、実施例1におけるパケット解析装置100が実行する解析処理手順の一例について説明する。
 図17は、実施例1における解析処理手順の一例を示すフローチャートである。図17において、パケット解析装置100は、格納通知を検出する(ステップS1701)。次に、パケット解析装置100は、パケットバッファに格納されたパケットのヘッダ情報を取得する(ステップS1702)。そして、パケット解析装置100は、そのパケットが通信されたコネクションを特定する(ステップS1703)。
 次に、パケット解析装置100は、特定したコネクションのコネクションIDが、コネクションテーブル400に登録済みであるか否かを判定する(ステップS1704)。ここで、登録済みである場合(ステップS1704:Yes)、パケット解析装置100は、ステップS1706の処理に移行する。
 一方で、登録済みではない場合(ステップS1704:No)、パケット解析装置100は、特定したコネクションのコネクションIDを、コネクションテーブル400に登録する(ステップS1705)。そして、パケット解析装置100は、ステップS1706の処理に移行する。
 ステップS1706で、パケット解析装置100は、特定したコネクションについて、L4解析処理を実行する(ステップS1706)。次に、パケット解析装置100は、L4解析処理の解析結果を参照し、L4解析情報テーブル600を更新する(ステップS1707)。
 そして、パケット解析装置100は、L7解析を実行し(ステップS1708)、ステップS1701の処理に戻る。
(実施例1における異常判定処理手順の一例)
 次に、図18を用いて、実施例1におけるパケット解析装置100が実行する異常判定処理手順の一例について説明する。
 図18は、実施例1における異常判定処理手順の一例を示すフローチャートである。図18において、パケット解析装置100は、所定の時間間隔ごとの判定タイミングまで待機する(ステップS1801)。次に、パケット解析装置100は、判定タイミングになると、コネクションテーブル400を参照し、いずれかのコネクションを選択する(ステップS1802)。そして、パケット解析装置100は、L4解析情報テーブル600を
参照し、選択したコネクションに、現時点で異常があるか否かを評価する(ステップS1803)。
 その後、パケット解析装置100は、評価した結果、および異常コネクション情報テーブル700を参照し、選択したコネクションが、異常コネクションであるか否かを判定する(ステップS1804)。ここで、異常コネクションではない場合(ステップS1804:No)、パケット解析装置100は、ステップS1806の処理に移行する。
 一方で、異常コネクションである場合(ステップS1804:Yes)、パケット解析装置100は、図19に後述する異常コネクション登録処理を実行する(ステップS1805)。そして、パケット解析装置100は、ステップS1806の処理に移行する。
 ステップS1806で、パケット解析装置100は、コネクションテーブル400を参照し、未選択のコネクションがあるか否かを判定する(ステップS1806)。ここで、未選択のコネクションがある場合(ステップS1806:Yes)、パケット解析装置100は、ステップS1802の処理に戻る。
 一方で、未選択のコネクションがない場合(ステップS1806:No)、パケット解析装置100は、異常判定処理を終了する。
(実施例1における異常コネクション登録処理手順の一例)
 次に、図19を用いて、実施例1におけるパケット解析装置100が実行する異常コネクション登録処理手順の一例について説明する。
 図19は、実施例1における異常コネクション登録処理手順の一例を示すフローチャートである。図19において、パケット解析装置100は、異常コネクションに、現時点で異常があるか否かを判定する(ステップS1901)。ここで、現時点で異常がある場合(ステップS1901:Yes)、パケット解析装置100は、その異常コネクションの、現時点の暫定異常レベルを算出する(ステップS1902)。
 次に、パケット解析装置100は、異常コネクション情報テーブル700を参照し、その異常コネクションについて異常コネクション情報があるか否かを判定する(ステップS1903)。ここで、異常コネクション情報がある場合(ステップS1903:Yes)、パケット解析装置100は、ステップS1905の処理に移行する。
 一方で、異常コネクション情報がない場合(ステップS1903:No)、パケット解析装置100は、その異常コネクションについて、異常コネクション情報と異常レベル履歴800とを作成する(ステップS1904)。そして、パケット解析装置100は、ステップS1905の処理に移行する。
 ステップS1905で、パケット解析装置100は、その異常コネクションについての異常レベル履歴800に、算出した暫定異常レベルを設定する(ステップS1905)。次に、パケット解析装置100は、その異常コネクションについての異常コネクション情報の最終保存時刻を更新する(ステップS1906)。そして、パケット解析装置100は、図20に後述する決定処理を実行する(ステップS1907)。
 次に、パケット解析装置100は、図21に後述するリスト連結処理を実行する(ステップS1908)。そして、パケット解析装置100は、異常コネクション登録処理を終了する。
 一方で、ステップS1901で、現時点で異常ではない場合(ステップS1901:No)、パケット解析装置100は、その異常コネクションについての異常コネクション情報の最終保存時刻を過ぎていれば、その異常コネクション情報を削除する(ステップS1909)。そして、パケット解析装置100は、異常コネクション登録処理を終了する。
(実施例1における決定処理手順の一例)
 次に、図20を用いて、実施例1におけるパケット解析装置100が実行する決定処理手順の一例について説明する。
 図20は、実施例1における決定処理手順の一例を示すフローチャートである。図20において、パケット解析装置100は、その異常コネクションについての異常コネクション情報の有効期限を過ぎたか否かを判定する(ステップS2001)。ここで、有効期限を過ぎている場合(ステップS2001:Yes)、パケット解析装置100は、異常レベル履歴800を参照し、保存時間の分記憶された複数の異常レベルのうち、最大の異常レベルを選択する(ステップS2002)。
 次に、パケット解析装置100は、その異常コネクションについての異常コネクション情報の有効期限を、選択した異常レベルに対応する時刻に保存時間を加算した時刻に設定する(ステップS2003)。そして、パケット解析装置100は、決定処理を終了する。
 一方で、有効期限を過ぎていない場合(ステップS2001:No)、パケット解析装置100は、現時点の暫定異常レベル≧過去の異常レベルであるか否かを判定する(ステップS2004)。ここで、現時点の暫定異常レベル≧過去の異常レベルである場合(ステップS2004:Yes)、パケット解析装置100は、その異常コネクションについての異常コネクション情報の異常レベルを、現時点の暫定異常レベルに設定する(ステップS2005)。
 次に、パケット解析装置100は、有効期限を、現時点に保存時間を加算した時刻に設定する(ステップS2006)。そして、パケット解析装置100は、決定処理を終了する。
 一方で、ステップS2004で、現時点の暫定異常レベル≧過去の異常レベルではない場合(ステップS2004:No)、パケット解析装置100は、異常コネクション情報に異常レベルが設定済みであるか否かを判定する(ステップS2007)。ここで、設定済みである場合(ステップS2007:Yes)、パケット解析装置100は、決定処理を終了する。
 一方で、設定済みではない場合(ステップS2007:No)、パケット解析装置100は、ステップS2006の処理に移行する。
(実施例1におけるリスト連結処理手順の一例)
 次に、図21を用いて、実施例1におけるパケット解析装置100が実行するリスト連結処理手順の一例について説明する。
 図21は、実施例1におけるリスト連結処理手順の一例を示すフローチャートである。図21において、パケット解析装置100は、決定した異常コネクションの異常レベルに対応する、異常レベル範囲リスト900のいずれかの異常レベル範囲に、その異常コネクションの異常コネクション情報を対応付ける(ステップS2101)。
 次に、パケット解析装置100は、その異常レベル範囲のコネクション数に1を加算する(ステップS2102)。そして、パケット解析装置100は、リスト連結処理を終了する。
(実施例1における生成処理手順の一例)
 次に、図22を用いて、実施例1におけるパケット解析装置100が実行する生成処理手順の一例について説明する。
 図22は、実施例1における生成処理手順の一例を示すフローチャートである。図22において、パケット解析装置100は、インデックステーブル500のリードポインタ位置が示す、インデックステーブル500のレコードを特定する(ステップS2201)。
 次に、パケット解析装置100は、特定したレコードの受信時刻から一定時間が経過したか否かを判定する(ステップS2202)。ここで、一定時間が経過していない場合(ステップS2202:No)、パケット解析装置100は、ステップS2201の処理に戻る。
 一方で、一定時間が経過している場合(ステップS2202:Yes)、パケット解析装置100は、特定したレコードを読み出し、リードポインタ位置に1を加算する(ステップS2203)。次に、パケット解析装置100は、取得したレコードのパケットIDが示すパケットが、異常レベル範囲リスト900の特定の異常レベル範囲に対応付けられた異常コネクションのパケットであるか否かを判定する(ステップS2204)。ここで、異常コネクションのパケットではない場合(ステップS2204:No)、パケット解析装置100は、ステップS2201の処理に戻る。
 一方で、異常コネクションのパケットである場合(ステップS2204:Yes)、パケット解析装置100は、取得したレコードに基づいて、図23に後述するパケットフィルタ処理を実行する(ステップS2205)。そして、パケット解析装置100は、ステップS2201の処理に戻る。
(実施例1におけるパケットフィルタ処理手順の一例)
 次に、図23を用いて、実施例1におけるパケット解析装置100が実行するパケットフィルタ処理手順の一例について説明する。
 図23は、実施例1におけるパケットフィルタ処理手順の一例を示すフローチャートである。図23において、パケット解析装置100は、取得したレコードに基づいて、パケットバッファに記憶されたパケットを取得する(ステップS2301)。
 次に、パケット解析装置100は、そのパケットに対応するコネクションIDを取得する(ステップS2302)。そして、パケット解析装置100は、メモリ302や記録媒体305などの記憶領域に、コネクションIDに対応する保存領域があるか否かを判定する(ステップS2303)。ここで、保存領域がない場合(ステップS2303:No)、パケット解析装置100は、新たな保存領域を設定し、そのパケットを格納する(ステップS2304)。次に、パケット解析装置100は、新たな保存領域に対応するメタデータを作成する(ステップS2305)。そして、パケット解析装置100は、パケットフィルタ処理を終了する。
 一方で、保存領域がある場合(ステップS2303:Yes)、パケット解析装置100は、その保存領域に、そのパケットを格納する(ステップS2306)。次に、パケット解析装置100は、その保存領域に対応するメタデータを更新する(ステップS230
7)。そして、パケット解析装置100は、パケットフィルタ処理を終了する。
(実施例2)
 次に、図24を用いて、実施例2におけるパケット解析装置100の動作例について説明する。実施例2では、パケット解析装置100が、実施例1の異常レベル範囲リスト900とは異なるリスト構造で、異常レベル範囲リスト2400を記憶する。
 図24は、実施例2における異常レベル範囲リスト2400の記憶内容の一例である。図24に示すように、異常レベル範囲リスト2400は、範囲上限と、範囲下限と、コネクション数と、リスト先頭ポインタと、リスト末端ポインタとのフィールドを有する。各フィールドは、図9と同様であるため、説明を省略する。図24の例では、異常レベル範囲リスト2400が有するアイテムが、図9と異なるため、そのアイテムについて以下に説明する。
 アイテムは、異常コネクションごとに存在し、異常コネクション情報ポインタと、前アドレスと、次アドレスとのフィールドを有する。異常コネクション情報ポインタのフィールドは、異常レベル範囲に対応付ける異常コネクションについての異常コネクション情報へのポインタが設定される。
 前アドレスのフィールドは、異常コネクション情報ポインタによって指定された異常コネクションよりも前に、同じ異常レベル範囲に対応付けられる他の異常コネクションについての異常コネクション情報ポインタを含んでいるアイテムへのポインタが設定される。次アドレスのフィールドは、異常コネクション情報ポインタによって指定された異常コネクションの次に、同じ異常レベル範囲に対応付けられる他の異常コネクションについての異常コネクション情報ポインタを含んでいるアイテムへのポインタが設定される。
 ここで、複数のアイテムは、それぞれのアイテムの対応する異常コネクション情報の最終保存時刻が遅い順番に、先頭から連結されるようにする。これにより、パケット解析装置100は、ある異常コネクション情報の最終保存時刻を過ぎた場合に、その異常コネクション情報だけではなく、その異常コネクションの後ろに対応付けられた異常コネクションもまとめて削除することができる。このため、パケット解析装置100は、異常コネクション情報の削除にかかる処理時間を低減することができる。
(実施例2における異常判定処理手順の一例)
 次に、図25を用いて、実施例2におけるパケット解析装置100が実行する異常判定処理手順の一例について説明する。
 図25は、実施例2における異常判定処理手順の一例を示すフローチャートである。図25において、パケット解析装置100は、所定の時間間隔ごとの判定タイミングまで待機する(ステップS2501)。次に、パケット解析装置100は、判定タイミングになると、コネクションテーブル400を参照し、いずれかのコネクションを選択する(ステップS2502)。そして、パケット解析装置100は、L4解析情報テーブル600を参照し、選択したコネクションに、現時点で異常があるか否かを評価する(ステップS2503)。
 その後、パケット解析装置100は、評価した結果、および異常コネクション情報テーブル700を参照し、選択したコネクションが、異常コネクションであるか否かを判定する(ステップS2504)。ここで、異常コネクションではない場合(ステップS2504:No)、パケット解析装置100は、ステップS2506の処理に移行する。
 一方で、異常コネクションである場合(ステップS2504:Yes)、パケット解析装置100は、図26に後述する異常コネクション登録処理を実行する(ステップS2505)。そして、パケット解析装置100は、ステップS2506の処理に移行する。
 ステップS2506で、パケット解析装置100は、コネクションテーブル400を参照し、未選択のコネクションがあるか否かを判定する(ステップS2506)。ここで、未選択のコネクションがある場合(ステップS2506:Yes)、パケット解析装置100は、ステップS2502の処理に戻る。
 一方で、未選択のコネクションがない場合(ステップS2506:No)、パケット解析装置100は、図28に後述する異常コネクション削除処理を実行する(ステップS2507)。そして、パケット解析装置100は、ステップS2501の処理に戻る。
(実施例2における異常コネクション登録処理手順の一例)
 次に、図26を用いて、実施例2におけるパケット解析装置100が実行する異常コネクション登録処理手順の一例について説明する。
 図26は、実施例2における異常コネクション登録処理手順の一例を示すフローチャートである。図26において、パケット解析装置100は、異常コネクションに、現時点で異常があるか否かを判定する(ステップS2601)。ここで、現時点で異常がある場合(ステップS2601:Yes)、パケット解析装置100は、その異常コネクションの、現時点の暫定異常レベルを算出する(ステップS2602)。
 次に、パケット解析装置100は、異常コネクション情報テーブル700を参照し、その異常コネクションについて異常コネクション情報があるか否かを判定する(ステップS2603)。ここで、異常コネクション情報がある場合(ステップS2603:Yes)、パケット解析装置100は、ステップS2605の処理に移行する。
 一方で、異常コネクション情報がない場合(ステップS2603:No)、パケット解析装置100は、その異常コネクションについて、異常コネクション情報と異常レベル履歴800とを作成する(ステップS2604)。そして、パケット解析装置100は、ステップS2605の処理に移行する。
 ステップS2605で、パケット解析装置100は、その異常コネクションについての異常レベル履歴800に、算出した暫定異常レベルを設定する(ステップS2605)。次に、パケット解析装置100は、その異常コネクションについての異常コネクション情報の最終保存時刻を更新する(ステップS2606)。そして、パケット解析装置100は、図34に後述する決定処理を実行する(ステップS2607)。
 次に、パケット解析装置100は、図27に後述するリスト連結処理を実行する(ステップS2608)。そして、パケット解析装置100は、異常コネクション登録処理を終了する。
 一方で、ステップS2601で、現時点で異常ではない場合(ステップS2601:No)、パケット解析装置100は、異常コネクション登録処理を終了する。
(実施例2におけるリスト連結処理手順の一例)
 次に、図27を用いて、実施例2におけるパケット解析装置100が実行するリスト連結処理手順の一例について説明する。
 図27は、実施例2におけるリスト連結処理手順の一例を示すフローチャートである。図27において、パケット解析装置100は、最終保存時間を過ぎたか否かを判定する(ステップS2701)。ここで、最終保存時刻を過ぎている場合(ステップS2701:Yes)、パケット解析装置100は、リスト連結処理を終了する。
 一方で、最終保存時刻を過ぎていない場合(ステップS2701:No)、パケット解析装置100は、異常コネクションの現時点の異常レベルと、新規の異常レベルとが同一異常レベル範囲であるか否かを判定する(ステップS2702)。ここで、同一異常レベル範囲ではない場合(ステップS2702:No)、パケット解析装置100は、異常レベル範囲リスト2400のいずれかの異常レベル範囲と、異常コネクションとの対応付けを削除する(ステップS2703)。
 次に、パケット解析装置100は、異常レベル範囲のコネクション数から1減算する(ステップS2704)。そして、パケット解析装置100は、決定した異常レベルに対応する異常レベル範囲に対応付けられた、異常コネクションよりも最終保存時刻が早い他の異常コネクションの位置を検索する(ステップS2705)。
 次に、パケット解析装置100は、検索した位置に、異常コネクションを対応付ける(ステップS2706)。そして、パケット解析装置100は、コネクション数に1加算する(ステップS2707)。その後、パケット解析装置100は、リスト連結処理を終了する。
 一方で、同一異常レベル範囲である場合(ステップS2702:Yes)、パケット解析装置100は、最終保存時刻が変更されたか否かを判定する(ステップS2708)。ここで、変更されていない場合(ステップS2708:No)、パケット解析装置100は、リスト連結処理を終了する。
 一方で、変更されている場合(ステップS2708:Yes)、パケット解析装置100は、最終保存時刻順に、異常レベル範囲リスト2400上の位置を変更する(ステップS2709)。そして、パケット解析装置100は、リスト連結処理を終了する。
(実施例2における削除処理手順の一例)
 次に、図28を用いて、実施例2におけるパケット解析装置100が実行する削除処理手順の一例について説明する。
 図28は、実施例2における削除処理手順の一例を示すフローチャートである。図28において、パケット解析装置100は、いずれかの異常レベル範囲を選択する(ステップS2801)。次に、パケット解析装置100は、選択した異常レベル範囲を後方から検索し、最終保存時刻が経過した1以上の異常コネクションに対応する部分の先頭位置を特定する(ステップS2802)。そして、パケット解析装置100は、特定した先頭位置に基づいて、異常レベル範囲リスト2400から、最終保存時刻が経過した1以上の異常コネクションに対応する部分を切り離す(ステップS2803)。
 次に、パケット解析装置100は、異常レベル範囲のコネクション数を、切り離した部分に対応する数だけ減算する(ステップS2804)。そして、パケット解析装置100は、異常コネクション情報と、異常レベル履歴800とを削除する(ステップS2805)。次に、パケット解析装置100は、未選択の異常レベル範囲があるか否かを判定する(ステップS2806)。ここで、未選択の異常レベル範囲がある場合(ステップS2806:Yes)、パケット解析装置100は、ステップS2801の処理に戻る。
 一方で、未選択の異常レベル範囲がない場合(ステップS2806:No)、パケット解析装置100は、削除処理を終了する。
 以上説明したように、パケット解析装置100によれば、取得したパケットを蓄積することができる。また、パケット解析装置100によれば、取得したパケットに基づいて、そのパケットが通信されたコネクションを示す情報に対応付けて、そのパケットが通信されたコネクションの通信性能に関する情報を蓄積することができる。また、パケット解析装置100によれば、所定の時間間隔で、コネクションの通信性能を示す異常レベルを含む、複数の異常レベル範囲のいずれかの異常レベル範囲に対応付けて、そのコネクションを示す情報を登録することができる。また、パケット解析装置100によれば、蓄積した、取得から一定の時間が経過したパケットのうち、特定の異常レベル範囲に対応するコネクションで通信されたパケットを抽出して、保存ファイルに記憶することができる。これにより、パケット解析装置100は、抽出して記憶したパケットに基づいて、事後的かつ詳細に、ある装置間の種々のコネクションや、ある装置間を結ぶネットワークなどについて解析することができる。また、パケット解析装置100は、異常レベルに基づくソートを行わなくてよく、比較的低い処理負荷で、パケットを選択的に記憶することができる。
 また、パケット解析装置100によれば、第1のコネクションの通信性能を示す異常レベルが閾値以上である場合に、その異常レベルを含む異常レベル範囲に対応付けて、第1のコネクションを示す情報を登録することができる。これにより、パケット解析装置100は、異常レベルが比較的大きく、事後的かつ詳細な解析が行われる可能性が比較的大きい異常コネクションで通信されたパケットは抽出されやすくすることができる。一方で、パケット解析装置100は、異常レベルが比較的小さく、事後的かつ詳細な解析が行われる可能性が比較的小さい異常コネクションで通信されたパケットは抽出されないようにして、記憶領域の不足を発生しにくくすることができる。
 また、パケット解析装置100によれば、第1のコネクションを示す情報を異常レベル範囲に対応付けて登録した場合、第1のコネクションを示す情報の異常レベル範囲への登録状態についての有効期限を、現在時刻から一定時間後の時刻に設定することができる。また、パケット解析装置100によれば、有効期限までは、第1のコネクションを示す情報を、現在対応付けている異常レベル範囲より通信性能が低いことを示す異常レベル範囲に対応付けられないようにすることができる。これにより、登録部1004は、異常レベルが一時的に大きくなり、保存ファイルに記憶しておくことが好ましくなったパケットが、その後の異常レベルの低下に伴って保存ファイルに記憶されなくなることを、有効期限までは抑制することができる。
 また、パケット解析装置100によれば、第1のコネクションの通信性能を示す異常レベルが増加した場合、第1のコネクションの通信性能を示す異常レベルを含む異常レベル範囲に対応付けて、第1のコネクションを示す情報を登録し直すことができる。また、パケット解析装置100によれば、有効期限を、現在時刻から一定時間後の時刻に設定し直すことができる。これにより、パケット解析装置100は、異常レベルが大きくなり、さらに保存ファイルに記憶しておくことが好ましくなったパケットを、優先して保存ファイルに記憶されやすくすることができる。また、パケット解析装置100は、異常レベルが大きくなってから一定時間は、パケットが保存ファイルに記憶されやすくすることができる。
 また、パケット解析装置100によれば、第1のコネクションの通信性能を示す異常レベルが低下した場合、第1のコネクションを示す情報の異常レベル範囲への登録状態について変更しないことができる。これにより、パケット解析装置100は、異常レベルが低下した直後に、第1のコネクションで通信されたパケットが抽出されなくなってしまうこ
とを防止することができる。
 また、パケット解析装置100によれば、第1のコネクションの通信性能を示す異常レベルが低下し、かつ、現在対応付けている異常レベル範囲に含まれたままである場合、有効期限を、現在時刻から一定時間後の時刻に設定し直すことができる。これにより、パケット解析装置100は、異常コネクションに異常が継続している場合には、より長い期間パケットを抽出し、保存ファイルに記憶するようにすることができる。
 また、パケット解析装置100によれば、有効期限になった場合、所定の期間における第1のコネクションの通信性能を示す異常レベルのいずれかの異常レベルに基づいて、第1のコネクションを示す情報を、異常レベル範囲に対応付けて登録し直すことができる。また、パケット解析装置100は、有効期限を、現在時刻から一定時間後の時刻に設定し直すことができる。これにより、パケット解析装置100は、現時刻の異常レベルだけを用いる場合に比べ、異常コネクション情報を登録する際に用いられることが好ましい異常レベルを用いることができる可能性を向上することができる。このため、パケット解析装置100は、より効果的に、保存ファイルに記憶することが好ましい、異常コネクションで通信されたパケットを抽出しやすくすることができる。
 また、パケット解析装置100によれば、第1のコネクションの通信性能を示す異常レベルを基に、第1のコネクションを示す情報のいずれかの異常レベル範囲への登録状態についての保持期限を設定することができる。また、パケット解析装置100によれば、保持期限を過ぎた場合、第1のコネクションを示す情報の第3の記憶部130への登録状態を削除することができる。これにより、パケット解析装置100は、保持期限を過ぎ、事後的かつ詳細にコネクションなどを解析する際に用いられる可能性が小さくなった、保存ファイルに記憶しておかなくてよいパケットを、保存ファイルに記憶しないようにすることができる。
 なお、本実施の形態で説明したパケット解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明したパケット解析プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明したパケット解析プログラムは、インターネット等のネットワークを介して配布してもよい。
 上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
 取得したパケットを第1の記憶部に蓄積し、
 取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
 所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
 前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
 処理を実行させることを特徴とするパケット解析プログラム。
(付記2)前記登録する処理は、
 第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値である場合に、当該指標値を含む前記複数の指標値範囲のいずれかの指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録する、ことを特徴とする付記1に記載のパケット解析プログラム。
(付記3)前記登録する処理は、
 前記第1のコネクションを示す情報を前記第3の記憶部に登録した場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態についての有効期限を、現在時刻から一定時間後の時刻に設定し、
 前記有効期限までは、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直す際には、前記第1のコネクションを示す情報を、前記第1のコネクションを示す情報に対応付けている指標値範囲、または前記第1のコネクションを示す情報に対応付けている指標値範囲より通信性能が低いことを示す指標値範囲に対応付ける、ことを特徴とする付記2に記載のパケット解析プログラム。
(付記4)前記登録する処理は、
 前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の低下を示す場合、前記第1のコネクションの通信性能を示す指標値を含む指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直し、
 前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする付記3に記載のパケット解析プログラム。
(付記5)前記登録する処理は、
 前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の向上を示す場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態について変更しない、ことを特徴とする付記3または4に記載のパケット解析プログラム。
(付記6)前記登録する処理は、
 前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の向上を示し、かつ、前記第1のコネクションの通信性能を示す指標値が、前記第1のコネクションを示す情報に対応付けている指標値範囲に含まれる場合、前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする付記3~5のいずれか一つに記載のパケット解析プログラム。
(付記7)前記登録する処理は、
 前記有効期限になった場合、所定の期間における前記第1のコネクションの通信性能を示す指標値のいずれかの指標値を含む、前記複数の指標値範囲のいずれかの指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直し、
 前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする付記3~6のいずれか一つに記載のパケット解析プログラム。
(付記8)前記登録する処理は、
 前記第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値である場合に、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態についての保持期限を、現在時刻から一定時間後の時刻に設定し、
 前記保持期限を過ぎた場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態を削除する、ことを特徴とする付記2~7のいずれか一つに記載のパケット解析プログラム。
(付記9)コンピュータが、
 取得したパケットを第1の記憶部に蓄積し、
 取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
 所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
 前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
 処理を実行することを特徴とするパケット解析方法。
(付記10)取得したパケットを第1の記憶部に蓄積し、
 取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
 所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
 前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
 制御部を有することを特徴とするパケット解析装置。
 100 パケット解析装置
 110 第1の記憶部
 120 第2の記憶部
 130 第3の記憶部
 140 第4の記憶部
 150,900,1109 異常レベル範囲リスト
 161~165 異常コネクション情報
 171~175 ポインタ
 200 パケット解析システム
 210 ネットワーク
 220 クライアント装置
 230 サーバ装置
 240 中継装置
 300 バス
 301 CPU
 302 メモリ
 303 ネットワークI/F
 304 記録媒体I/F
 305 記録媒体
 400 コネクションテーブル
 500,1106 インデックステーブル
 600 L4解析情報テーブル
 800 異常レベル履歴
 1001 記憶部
 1002 取得部
 1003 解析部
 1004 登録部
 1005 保存部
 1101 NIC
 1102 ドライバ
 1103 パケットバッファ
 1104 L4解析
 1105 インデックス作成
 1107 L4異常判定
 1108 異常コネクション情報テーブル
 1110 L4統計
 1111 統計情報
 1112 L7解析
 1113 L7異常判定
 1114 L7統計
 1115 パケットフィルタ
 1116 パケット保存
 1117 保存ファイル

Claims (10)

  1.  コンピュータに、
     取得したパケットを第1の記憶部に蓄積し、
     取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
     所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
     前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
     処理を実行させることを特徴とするパケット解析プログラム。
  2.  前記登録する処理は、
     第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値である場合に、当該指標値を含む前記複数の指標値範囲のいずれかの指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録する、ことを特徴とする請求項1に記載のパケット解析プログラム。
  3.  前記登録する処理は、
     前記第1のコネクションを示す情報を前記第3の記憶部に登録した場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態についての有効期限を、現在時刻から一定時間後の時刻に設定し、
     前記有効期限までは、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直す際には、前記第1のコネクションを示す情報を、前記第1のコネクションを示す情報に対応付けている指標値範囲、または前記第1のコネクションを示す情報に対応付けている指標値範囲より通信性能が低いことを示す指標値範囲に対応付ける、ことを特徴とする請求項2に記載のパケット解析プログラム。
  4.  前記登録する処理は、
     前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の低下を示す場合、前記第1のコネクションの通信性能を示す指標値を含む指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直し、
     前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする請求項3に記載のパケット解析プログラム。
  5.  前記登録する処理は、
     前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の向上を示す場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態について変更しない、ことを特徴とする請求項3または4に記載のパケット解析プログラム。
  6.  前記登録する処理は、
     前記第1のコネクションの通信性能を示す指標値の変化が、前記第1のコネクションの通信性能の向上を示し、かつ、前記第1のコネクションの通信性能を示す指標値が、前記第1のコネクションを示す情報に対応付けている指標値範囲に含まれる場合、前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする請求項3~5のいずれか一つに記載のパケット解析プログラム。
  7.  前記登録する処理は、
     前記有効期限になった場合、所定の期間における前記第1のコネクションの通信性能を示す指標値のいずれかの指標値を含む、前記複数の指標値範囲のいずれかの指標値範囲に対応付けて、前記第1のコネクションを示す情報を前記第3の記憶部に登録し直し、
     前記有効期限を、現在時刻から一定時間後の時刻に設定し直す、ことを特徴とする請求項3~6のいずれか一つに記載のパケット解析プログラム。
  8.  前記登録する処理は、
     前記第1のコネクションの通信性能を示す指標値が所定の通信性能以下であることを示す指標値である場合に、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態についての保持期限を、現在時刻から一定時間後の時刻に設定し、
     前記保持期限を過ぎた場合、前記第1のコネクションを示す情報の前記第3の記憶部への登録状態を削除する、ことを特徴とする請求項2~7のいずれか一つに記載のパケット解析プログラム。
  9.  コンピュータが、
     取得したパケットを第1の記憶部に蓄積し、
     取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
     所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
     前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
     処理を実行することを特徴とするパケット解析方法。
  10.  取得したパケットを第1の記憶部に蓄積し、
     取得したパケットに基づいて、当該パケットが通信されたコネクションを示す情報に対応付けて、当該コネクションの通信性能に関する情報を第2の記憶部に蓄積し、
     所定の時間間隔で、前記第2の記憶部を参照し、コネクションごとに、当該コネクションの通信性能を示す指標値を含む、複数の指標値範囲のいずれかの指標値範囲に対応付けて、当該コネクションを示す情報を第3の記憶部に登録し、
     前記第3の記憶部を参照し、前記第1の記憶部に蓄積した、取得から一定の時間が経過したパケットのうち、特定の指標値範囲に対応するコネクションで通信されたパケットを抽出し、第4の記憶部に記憶する、
     制御部を有することを特徴とするパケット解析装置。
PCT/JP2017/046500 2017-01-10 2017-12-25 パケット解析プログラム、パケット解析方法、およびパケット解析装置 WO2018131458A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/504,382 US10873515B2 (en) 2017-01-10 2019-07-08 Recording medium recording packet analysis program, packet analysis method, and information processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017002066A JP6724796B2 (ja) 2017-01-10 2017-01-10 パケット解析プログラム、パケット解析方法、およびパケット解析装置
JP2017-002066 2017-01-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/504,382 Continuation US10873515B2 (en) 2017-01-10 2019-07-08 Recording medium recording packet analysis program, packet analysis method, and information processing device

Publications (1)

Publication Number Publication Date
WO2018131458A1 true WO2018131458A1 (ja) 2018-07-19

Family

ID=62839453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/046500 WO2018131458A1 (ja) 2017-01-10 2017-12-25 パケット解析プログラム、パケット解析方法、およびパケット解析装置

Country Status (3)

Country Link
US (1) US10873515B2 (ja)
JP (1) JP6724796B2 (ja)
WO (1) WO2018131458A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3754910A1 (en) * 2019-06-20 2020-12-23 Fujitsu Limited Packet analysis program and packet analyzing device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10834006B2 (en) * 2019-01-24 2020-11-10 Mellanox Technologies, Ltd. Network traffic disruptions
US20230328032A1 (en) * 2022-04-06 2023-10-12 Mellanox Technologies, Ltd. Efficient and flexible flow inspector

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015076780A (ja) * 2013-10-10 2015-04-20 株式会社野村総合研究所 遅延監視システムおよび遅延監視方法
JP2015115842A (ja) * 2013-12-12 2015-06-22 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013030826A (ja) 2011-07-26 2013-02-07 Ricoh Co Ltd ネットワーク監視システム、ネットワーク監視方法
JP5862403B2 (ja) 2012-03-26 2016-02-16 日本電気株式会社 障害重要度処理サーバ装置、ネットワーク管理システム、障害重要度推定方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015076780A (ja) * 2013-10-10 2015-04-20 株式会社野村総合研究所 遅延監視システムおよび遅延監視方法
JP2015115842A (ja) * 2013-12-12 2015-06-22 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3754910A1 (en) * 2019-06-20 2020-12-23 Fujitsu Limited Packet analysis program and packet analyzing device
US11233886B2 (en) 2019-06-20 2022-01-25 Fujitsu Limited Storage medium and packet analyzing device

Also Published As

Publication number Publication date
JP6724796B2 (ja) 2020-07-15
US20190334799A1 (en) 2019-10-31
US10873515B2 (en) 2020-12-22
JP2018113549A (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
US10652265B2 (en) Method and apparatus for network forensics compression and storage
CN106254153B (zh) 一种网络异常监控方法和装置
WO2018131458A1 (ja) パケット解析プログラム、パケット解析方法、およびパケット解析装置
US9535961B2 (en) Query summary generation using row-column data storage
US20140359771A1 (en) Clustering event data by multiple time dimensions
CN109274679B (zh) 一种访问请求记录方法、装置、设备及可读存储介质
CN109669795A (zh) 崩溃信息处理方法及装置
CN115134099B (zh) 基于全流量的网络攻击行为分析方法及装置
CN114244564B (zh) 攻击防御方法、装置、设备及可读存储介质
WO2018092698A1 (ja) 通信セッションログ解析装置、方法および記録媒体
CN104184601B (zh) 用户在线时长的获取方法及装置
CN106484591A (zh) 一种基于分布式系统的数据采集方法及采集系统
CN112668005A (zh) webshell文件的检测方法及装置
CN107248939B (zh) 基于hash存储器的网络流高速关联方法
CN103916463B (zh) 一种网络访问统计分析方法及系统
CN112527772A (zh) 一种图数据库审计方法及审计设备
CN109190408B (zh) 一种数据信息的安全处理方法及系统
CN105245394A (zh) 一种基于分层方式分析网络访问日志的方法和设备
CN113810336A (zh) 一种数据报文加密判定方法、装置及计算机设备
EP3511830A1 (en) Method for monitoring devices in a network, computerized system and application program interface
CN109309679A (zh) 一种基于tcp流状态的网络扫描检测方法及检测系统
KR20230062166A (ko) 방화벽 정책 최적화 방법 및 그 장치
JP5686001B2 (ja) 情報処理装置、メッセージ切分け方法およびメッセージ切分けプログラム
US8775528B2 (en) Computer readable recording medium storing linking keyword automatically extracting program, linking keyword automatically extracting method and apparatus
CN111625412A (zh) 基于Flume的数据采集方法、系统、设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17892044

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17892044

Country of ref document: EP

Kind code of ref document: A1