KR101880705B1 - System for collecting device information using internet and method thereof - Google Patents

System for collecting device information using internet and method thereof Download PDF

Info

Publication number
KR101880705B1
KR101880705B1 KR1020170148318A KR20170148318A KR101880705B1 KR 101880705 B1 KR101880705 B1 KR 101880705B1 KR 1020170148318 A KR1020170148318 A KR 1020170148318A KR 20170148318 A KR20170148318 A KR 20170148318A KR 101880705 B1 KR101880705 B1 KR 101880705B1
Authority
KR
South Korea
Prior art keywords
packet
response information
response
information
address
Prior art date
Application number
KR1020170148318A
Other languages
Korean (ko)
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 주식회사 모비젠
Priority to KR1020170148318A priority Critical patent/KR101880705B1/en
Application granted granted Critical
Publication of KR101880705B1 publication Critical patent/KR101880705B1/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/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The purpose of the present invention is to provide a method for collecting device information, which operates more quickly than a conventional device. According to an embodiment of the present invention, the present invention is to provide the method for collecting device information, which comprises: a packet generation step of generating a plurality of Internet protocol (IP) addresses, and transmitting packets to the generated plurality of IP addresses; a response information calculation step of receiving response packets corresponding to the transmitted packets, and calculating response information which integrates the response packets received respectively by the IP addresses; a division processing step of dividing the calculated response information by the number of preset processes, and performing a dividing process on the divided response information through a plurality of threads included in each process; and a device information identification step of identifying device information of each device which receives the response packet based on a result that the division-processed response information is processed through a plurality of fingerprinting processes.

Description

인터넷을 이용하여 장치정보를 수집하는 시스템 및 그 방법 {System for collecting device information using internet and method thereof}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system and method for collecting device information using the Internet,

본 발명은 인터넷을 이용하여 장치정보를 수집하는 시스템 및 그 방법에 대한 것으로서, 보다 상세하게는, 인터넷에 연결되어 있는 사물인터넷 장치(IoT device)의 정보를 신속하게 수집하기 위한 시스템 및 그 방법에 관한 것이다.The present invention relates to a system and method for collecting device information using the Internet, and more particularly, to a system and method for rapidly collecting information of an Internet device (IoT device) connected to the Internet .

인터넷에 연결되어 동작하는 것을 특징으로 하는 사물인터넷 장치(사물인터넷 서비스 단말)가 널리 보급되면서, 사물인터넷 장치에 대한 해킹의 위험도 함께 늘어나고 있다.(Internet Internet service terminal), which is connected to the Internet, has been widely popularized, so that the risk of hacking to the Internet device is also increasing.

사물인터넷 장치에 대한 보안을 유지하기 위해서, 사물인터넷 장치의 보안 취약성을 주기적으로 검사하여 보안이 취약한 점이 발견되면, 즉각적인 보안 패치의 업데이트를 통해서, 사물인터넷 장치가 안정적인 서비스를 제공할 수 있도록 해야 한다.In order to maintain the security of the Internet devices, if the security weaknesses of the Internet devices are periodically checked, it is necessary to update the security patches so that the Internet devices can provide stable services .

위와 같이 진화하는 보안 위협에 신속하게 대응하기 위해서는, 사물인터넷 장치의 보안과 관련된 정보를 짧은 주기를 통해서 수집할 필요가 있다. 즉, 42억개의 IP 주소(Internet Protocol Address)를 포함하는 IPv4 공간에서 실제 유효한 37억개의 인터넷 장치의 정보를 초고속으로 수집해야만 한다.In order to respond quickly to evolving security threats, it is necessary to collect information related to the security of the Internet devices in a short period of time. In other words, it has to collect information of 3.7 billion Internet devices actually available in the IPv4 space including 4.2 billion Internet Protocol addresses at a very high speed.

도 1은 종래의 인터넷 장치의 정보를 수집하는 방법을 도식적으로 나타낸 도면이다.1 is a diagram schematically illustrating a method of collecting information of a conventional Internet device.

종래의 장치정보를 수집하는 장치는 IP 주소마다 패킷(packet)을 송신하고, 그 송신된 패킷에 대한 응답패킷을 수신한다. 응답패킷에는 사물인터넷 장치의 운영체제정보, 보안 업데이트 패치의 버전정보 등이 포함되어 있다. 수신된 정보들은 그 내용이 파악되기에 앞서 IP스캔결과파일이라는 하나의 데이터파일을 형성하게 되며, IP 스캔결과파일은 복수의 핑거프린팅 프로세스(fingerprinting process) 과정을 통해 처리되어 최종적으로 장치정보를 수집하는 장치가 파악해야 하는 사물인터넷 장치의 정보가 된다.The conventional apparatus for collecting device information transmits a packet for each IP address and receives a response packet for the transmitted packet. The response packet includes operating system information of the object Internet device, version information of the security update patch, and the like. The received information forms a single data file called an IP scan result file before its contents are grasped. The IP scan result file is processed through a plurality of fingerprinting processes and finally collects device information Which is the information of the Internet device.

보다 구체적으로, 기존 구조에서의 핑거프린팅 프로세스는 IP 주소의 스캔 결과에서 데이터를 파싱(parsing)하여 그 파싱결과를 하나의 긴 문자열 변수로 만들고, 사물인터넷 장치에 운영체제 정보의 검색을 위해서 미리 저장된 규칙파일(Rule File)에 문자열 변수와 매칭되는 부분이 있는지 여부를 검색하는 프로세스이다. 이때, 데이터를 파싱하는 작업과 규칙파일을 검색하는 과정에서 장치정보를 수집하는 장치의 성능의 병목현상이 발생한다. 이 과정에서 발생하는 장치정보를 수집하는 장치의 성능의 병목현상은 규칙파일에 정의되어 있는 필드 순서와 동일하게 IP 주소의 스캔 결과를 파싱해서 문자열 변환을 해야하고, 변환된 문자열을 규칙파일의 모든 내용과 문자열 비교 연산을 수행하기 때문에 발생하는 문제점이다.More specifically, a fingerprinting process in an existing structure parses data from a scan result of an IP address, converts the parsing result into a single long string variable, and stores a pre-stored rule It is a process of searching whether or not there is a part matching with a string variable in a file (Rule File). At this time, a performance bottleneck occurs in the apparatus for collecting device information in the process of parsing the data and searching the rule file. The bottleneck of the performance of the device collecting the device information generated in this process is that the scan result of the IP address is parsed and converted into a string in the same way as the field order defined in the rule file, This is a problem that occurs because the content and string comparison operations are performed.

위와 같은 이유로, 사물인터넷 장치의 정보를 신속하게 수집할 수 있을 뿐만 아니라, 종래의 장치가 갖고 있는 성능의 병목현상을 극복한 장치정보를 수집하는 장치의 필요성이 대두된다.For this reason, there is a need for an apparatus for collecting device information that overcomes the bottleneck of the performance of a conventional apparatus, as well as capable of quickly collecting information of the object Internet apparatus.

대한민국 등록특허 제10-1767454호 (2017.05.23 공개)Korean Patent No. 10-1767454 (Published May 27, 2017)

Electronics and Telecommunications Trends. Vol. 30, No. 2, April 2015, pp. 87-94, 최강일 선임연구원 외 1인 저술(14-000-05-001, 스마트 네트워킹 핵심 기술개발).Electronics and Telecommunications Trends. Vol. 30, No. 2, April 2015, pp. 87-94, Senior Researcher and 1 other author (14-000-05-001, Core Technology Development for Smart Networking).

본 발명이 해결하고자 하는 기술적 과제는, 종래의 장치보다 더 신속하게 동작하는 장치정보를 수집하는 방법을 제공하는 데에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for collecting device information that operates more quickly than a conventional device.

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른, 인터넷을 이용하여 장치정보를 수집하는 방법은, 복수의 IP(internet protocol)주소를 생성하고, 상기 생성된 복수의 IP주소로 패킷을 송신하는 패킷생성단계; 상기 송신된 패킷에 대응되는 응답패킷을 수신하고, 상기 IP주소별로 수신된 응답패킷을 통합한 응답정보를 산출하는 응답정보산출단계; 상기 산출된 응답정보를 미리 설정된 프로세스(process)의 수에 따라 분할하고, 상기 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드(thread)를 통해 분할처리하는 분할처리단계; 및 상기 분할처리된 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리한 결과를 기초로 하여 상기 응답패킷을 송신한 각 장치들의 장치정보를 파악하는 장치정보파악단계를 포함한다.According to an aspect of the present invention, there is provided a method for collecting device information using the Internet, the method comprising: generating a plurality of Internet protocol (IP) addresses; Generating a packet for transmission; A response information calculation step of receiving a response packet corresponding to the transmitted packet and calculating response information combining response packets received for each IP address; A division processing step of dividing the calculated response information according to the number of predetermined processes and dividing the divided response information through a plurality of threads included in each process; And a device information grasping step of grasping device information of each device that has transmitted the response packet based on a result of processing the divided response information through a plurality of fingerprinting processes.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 인터넷을 이용하여 장치정보를 수집하는 시스템은, 복수의 IP(internet protocol)주소를 생성하고, 상기 생성된 복수의 IP주소로 패킷을 송신하는 패킷생성부; 상기 송신된 패킷에 대응되는 응답패킷을 수신하고, 상기 IP주소별로 수신된 응답패킷을 통합한 응답정보를 산출하는 응답정보산출부; 상기 산출된 응답정보를 미리 설정된 프로세스(process)의 수에 따라 분할하고, 상기 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드(thread)를 통해 분할처리하는 분할처리부; 및 상기 분할처리된 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리한 결과를 기초로 하여 상기 응답패킷을 송신한 각 장치들의 장치정보를 파악하는 장치정보파악부를 포함한다.According to another aspect of the present invention, there is provided a system for collecting device information using the Internet, the method comprising: generating a plurality of internet protocol (IP) addresses; A packet generating unit for transmitting the packet; A response information calculation unit for receiving a response packet corresponding to the transmitted packet and calculating response information combining response packets received for each IP address; A division processing unit for dividing the calculated response information according to the number of predetermined processes and dividing the divided response information through a plurality of threads included in each process; And a device information acquisition unit for acquiring device information of each device that has transmitted the response packet based on a result of processing the divided response information through a plurality of fingerprinting processes.

본 발명의 일 실시 예는, 인터넷을 이용하여 장치정보를 수집하는 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공한다.An embodiment of the present invention provides a computer-readable recording medium storing a program for executing a method of collecting device information using the Internet.

본 발명에 따르면, 사물인터넷 장치의 정보를 신속하게 수집할 수 있을 뿐만 아니라, 사물인터넷 장치들의 IP주소 스캔의 결과를 처리하는 과정에 있어서, 성능의 병목현상이 발생되지 않는다.According to the present invention, performance bottlenecks do not occur in the process of processing the result of the IP address scan of the object Internet devices as well as rapidly collecting information of the object Internet apparatuses.

도 1은 종래의 인터넷 장치의 정보를 수집하는 방법을 도식적으로 나타낸 도면이다.
도 2는 본 발명에 따른 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 3은 본 발명에 따른 장치정보를 수집하는 시스템의 일 예의 블록도를 도시한 도면이다.
도 4는 패킷생성부가 IP 주소를 순열 및 미리 설정된 소수를 변수로 하는 수학식으로 IP 주소를 생성하는 일 예를 도식적으로 나타낸 도면이다.
도 5는 응답정보산출부가 응답패킷을 커널 영역을 통과시켜 사용자단에서 처리하는 것을 도식적으로 나타낸 도면이다.
도 6은 복수의 프로세스내에 생성된 복수의 스레드가 응답정보를 분할하여 처리하는 구조를 도식화한 도면이다.
도 7은 응답정보가 고속병렬구조에서의 프로세스내에 생성된 스레드에서 처리되기 위해서 스레드에 할당되는 과정을 도식화한 도면이다.
도 8은 복수의 핑거프린팅 프로세스를 통해서 큐에 쌓인 정보가 병렬적으로 처리되는 과정을 도식화한 도면이다.
도 9는 본 발명에 따라 인터넷을 이용하여 장치정보를 수집하는 방법의 일 예의 흐름도를 도시한 도면이다.
1 is a diagram schematically illustrating a method of collecting information of a conventional Internet device.
Fig. 2 is a schematic diagram showing the overall configuration of a system according to the present invention.
Figure 3 is a block diagram of an example of a system for collecting device information in accordance with the present invention.
4 is a diagram schematically illustrating an example in which the packet generator generates an IP address using an equation that permits an IP address as a permutation and a preset prime number as a variable.
5 is a diagram schematically showing that the response information calculation unit passes the response packet through the kernel area and processes it at the user end.
6 is a diagram showing a structure in which a plurality of threads generated in a plurality of processes divide and process response information.
7 is a diagram illustrating a process in which response information is assigned to a thread to be processed in a thread created in a process in a fast parallel structure.
FIG. 8 is a diagram illustrating a process in which information stored in a queue is processed in parallel through a plurality of fingerprinting processes.
9 is a flowchart illustrating an example of a method of collecting device information using the Internet according to the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. The effects and features of the present invention and methods of achieving them will be apparent with reference to the embodiments described in detail below with reference to the drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or corresponding components throughout the drawings, and a duplicate description thereof will be omitted .

이하의 실시 예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. In the following embodiments, the terms first, second, and the like are used for the purpose of distinguishing one element from another element, not the limitative meaning.

이하의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following examples, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.

이하의 실시 예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as inclusive or possessed mean that a feature or element described in the specification is present, and does not exclude the possibility that one or more other features or components are added in advance.

어떤 실시 예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.If certain embodiments are otherwise feasible, the particular process sequence may be performed differently from the sequence described. For example, two processes that are described in succession may be performed substantially concurrently, and may be performed in the reverse order of the order described.

도 2는 본 발명에 따른 시스템의 전체 구성을 개략적으로 나타낸 도면이다.Fig. 2 is a schematic diagram showing the overall configuration of a system according to the present invention.

도 2를 참조하면, 본 발명에 따른 전체시스템(10)은 장치정보를 수집하는 시스템(100)이 통신망(600)을 통해서, 카메라(200), 냉장고(300), 에어컨(400) 및 드론(500)과 각종 정보를 송수신하는 것을 알 수 있다.2, a system 10 for collecting device information includes a camera 200, a refrigerator 300, an air conditioner 400, and a drones (not shown) via a communication network 600, 500) and various information are transmitted and received.

먼저, 장치정보를 수집하는 시스템(100)은 카메라(200), 냉장고(300), 에어컨(400) 및 드론(500)에 패킷을 송신하고, 그에 따른 응답패킷을 수신하여, 카메라(200), 냉장고(300), 에어컨(400) 및 드론(500)의 장치정보를 파악하고, 보안의 취약점이 있는지 여부를 판단한다.First, a system 100 for collecting device information transmits a packet to a camera 200, a refrigerator 300, an air conditioner 400 and a drone 500, receives a response packet corresponding to the packet, The device information of the refrigerator 300, the air conditioner 400, and the drones 500, and determines whether or not there is a security weak point.

카메라(200), 냉장고(300), 에어컨(400) 및 드론(500)은 모두 사물인터넷 장치로서, 장치정보를 수집하는 시스템(100)으로부터 패킷을 수신하면, 그에 따라 응답패킷을 생성하여 송신할 수 있는 통신장치를 포함하고 있다. 도 2의 전체시스템(10)은 도시된 카메라(200), 냉장고(300), 에어컨(400) 및 드론(500) 외에도 통신망(600)을 통해서 각종 정보를 송수신할 수 있는 다른 장치를 더 포함할 수 있다.The camera 200, the refrigerator 300, the air conditioner 400, and the drones 500 are all objects Internet devices. When a packet is received from the system 100 for collecting device information, a response packet is generated and transmitted Communication devices. 2 further includes other devices capable of transmitting and receiving various information through the communication network 600 in addition to the camera 200, the refrigerator 300, the air conditioner 400 and the drones 500 shown in FIG. 2 .

통신망(600)은 장치정보를 수집하는 시스템(100)과 사물인터넷 장치들을 연결시켜주는 기능을 수행하고, 데이터망, 이동통신망, 인터넷 등 각종 무선 통신망을 포함한다.The communication network 600 performs a function of connecting the system 100 for collecting device information and the object Internet devices, and includes various wireless communication networks such as a data network, a mobile communication network, and the Internet.

도 3은 본 발명에 따른 장치정보를 수집하는 시스템의 일 예의 블록도를 도시한 도면이다.Figure 3 is a block diagram of an example of a system for collecting device information in accordance with the present invention.

도 3을 참조하면, 본 발명에 따른 장치정보를 수집하는 시스템(100)은 패킷생성부(110), 응답정보산출부(130), 분할처리부(150) 및 장치정보파악부(170)를 포함하는 것을 알 수 있다. 이하에서, 도 3의 장치정보를 수집하는 시스템(100)은 도 2의 장치정보를 수집하는 시스템(100)과 동일한 장치인 것으로 간주하며, 설명의 편의를 위해서 도 2를 참조하여 설명하기로 한다.3, a system 100 for collecting device information according to the present invention includes a packet generator 110, a response information calculator 130, a division processor 150, and a device information acquisition unit 170 . Hereinafter, the system 100 for collecting the apparatus information of FIG. 3 is regarded as the same apparatus as the system 100 for collecting the apparatus information of FIG. 2, and will be described with reference to FIG. 2 for convenience of description .

패킷생성부(110)는 복수의 IP(Internet Protocol) 주소를 생성하고, 생성된 복수의 IP 주소로 패킷을 송신한다.The packet generating unit 110 generates a plurality of IP (Internet Protocol) addresses and transmits the packets to the generated plurality of IP addresses.

먼저, 패킷생성부(110)는 복수의 IP 주소를 생성한다. 패킷생성부(110)가 생성한 IP 주소는, 패킷생성부(110)가 그 IP 주소를 갖는 사물인터넷 장치에 패킷을 보내기 위해 생성한 주소이다. 현재 이용되고 있는 IPv4(Internet Protocol version 4)에 따르면, 유효한 IP 주소는 37억개 정도이며, 패킷생성부(110)는 37억개의 유효한 주소 중에서 미리 설정된 범위와 개수내에서 IP 주소를 다양하게 생성하며, 그 생성된 IP 주소에 패킷을 송신한다.First, the packet generating unit 110 generates a plurality of IP addresses. The IP address generated by the packet generation unit 110 is an address generated by the packet generation unit 110 to send a packet to a destination Internet device having the IP address. According to currently used IPv4 (Internet Protocol version 4), the effective IP address is about 3.7 billion, and the packet generation unit 110 generates IP addresses in a predetermined range and number among 3.7 billion valid addresses , And transmits the packet to the generated IP address.

선택적 일 실시 예로서, 패킷생성부(110)는 복수의 IP 주소를 순열 및 미리 설정된 소수를 변수로 하는 수학식을 통해서 IP 주소를 생성할 수도 있다.As an alternative embodiment, the packet generator 110 may generate an IP address through a mathematical expression using a plurality of IP addresses as permutations and predetermined prime numbers as variables.

도 4는 패킷생성부가 IP 주소를 순열 및 미리 설정된 소수를 변수로 하는 수학식으로 IP 주소를 생성하는 일 예를 도식적으로 나타낸 도면이다.4 is a diagram schematically illustrating an example in which the packet generator generates an IP address using an equation that permits an IP address as a permutation and a preset prime number as a variable.

IPv4하에서 정의될 수 있는 IP 주소의 전체 개수는 약 42억개(2의 32제곱에 의해 산출된 값)이며, 이중 유효 주소는 약 37억개이다. 패킷생성부(110)는 도 4에서 도시된 것과 같이 순열(circulation) 및 미리 설정된 소수(prime number)를 변수로 하는 수학식을 기초로 하여 매번 다른 IP 주소를 생성할 수 있으며, 생성되는 IP 주소는 순열 및 수학식의 특성에 따라 중복되지 않게 된다.The total number of IP addresses that can be defined under IPv4 is approximately 4.2 billion (the value computed by the power of 2 squared), and the effective address is about 3.7 billion. The packet generator 110 may generate a different IP address each time based on a formula using a circulation and a preset prime number as shown in FIG. Are not overlapped according to the permutation and the characteristics of the mathematical expression.

Figure 112017111008058-pat00001
Figure 112017111008058-pat00001

수학식 1은 패킷생성부(110)가 IP 주소를 생성하기 위해서 이용하는 수학식의 일 예를 나타낸다. 수학식 1에서, g는 순열을 구성하는 순열결정인자이고, p는 현재 이용되고 있는 인터넷프로토콜 버전에서 정의될 수 있는 IP 주소의 전체 개수에 가장 가까운 소수(prime number)를 의미한다. 설명의 편의를 위해서, 이하에서는, g는 순열결정인자, p는 결정소수라고 호칭하기로 한다.Equation (1) shows an example of a mathematical expression used by the packet generation unit 110 to generate an IP address. In Equation (1), g denotes a permutation factor constituting a permutation, and p denotes a prime number closest to the total number of IP addresses that can be defined in the currently used Internet Protocol version. For convenience of explanation, hereinafter, g is referred to as a permutation determining factor and p is referred to as a decimal fraction.

예를 들어, IPv4하에서 p는 2의 32제곱과 가장 가까운 소수인 4294967311(2의 32제곱에 15를 더한 값)이 될 수 있고, 도 4에 따르면 순열결정인자 g는 6이 될 수 있다. For example, under IPv4, p may be 4294967311 (the 32 th power of 2 plus 15), which is the closest prime to the 32nd power of 2, and the permutation factor g may be 6 according to FIG.

또한, 수학식 1에서

Figure 112017111008058-pat00002
Figure 112017111008058-pat00003
는 각각 i번째 10진수 및 i+1번째 10진수로서, 1부터 인터넷프로토콜 버전에서 정의될 수 있는 IP 주소의 전체 개수와 같은 수 중 어느 하나의 수가 될 수 있다. 예를 들어, IPv4하에서
Figure 112017111008058-pat00004
는 1에서 4294967296(2의 32제곱) 중 어느 하나의 수가 될 수 있다. 즉, i+1번째 10진수는 i번째 10진수에 순열결정인자 g를 곱한 값을 결정소수 p로 나눈 나머지로 정의된다.In Equation 1,
Figure 112017111008058-pat00002
Wow
Figure 112017111008058-pat00003
Is an i-th decimal number and an (i + 1) -th decimal number, and can be any one of a number equal to the total number of IP addresses that can be defined in the Internet Protocol version from one. For example, under IPv4
Figure 112017111008058-pat00004
Can be any number from 1 to 4294967296 (2 to the power of 2). That is, the (i + 1) -th decimal number is defined as the remainder obtained by dividing the i-th decimal number by the permutation determination factor g divided by the decimation factor p.

수학식 1에 따라서, 도 4를 순서대로 설명하면 다음과 같다. 먼저, 패킷생성부(110)에 의해 순열을 구성하는 순열결정인자 g는 임의의 값 5로 선택되고,

Figure 112017111008058-pat00005
이 1로 선택되면,
Figure 112017111008058-pat00006
는 수학식 1에 따라 5가 된다. 위와 같은 과정을 반복하면,
Figure 112017111008058-pat00007
는 5,
Figure 112017111008058-pat00008
는 4,
Figure 112017111008058-pat00009
는 6,
Figure 112017111008058-pat00010
은 2,
Figure 112017111008058-pat00011
은 3,
Figure 112017111008058-pat00012
Figure 112017111008058-pat00013
과 같은 1이 산출된다. 즉,
Figure 112017111008058-pat00014
Figure 112017111008058-pat00015
이 같은 값을 같은 것은 결정소수가 7이기 때문이며, 결정소수가 달라지면 그만큼 최초의
Figure 112017111008058-pat00016
과 같은 값이 산출되기 위해서 앞선 과정보다 더 많은 반복과정이 필요하다. 도 4에 따르면, 결정소수가 7이므로, 결정소수보다 더 작은 수가 나머지값들로 산출된 것을 알 수 있다.Referring to Equation 1, FIG. 4 will be described in order. First, the permutation decision factor g constituting the permutation by the packet generation unit 110 is selected as an arbitrary value 5,
Figure 112017111008058-pat00005
Is selected as 1,
Figure 112017111008058-pat00006
Becomes 5 according to Equation (1). By repeating the above procedure,
Figure 112017111008058-pat00007
5,
Figure 112017111008058-pat00008
4,
Figure 112017111008058-pat00009
6,
Figure 112017111008058-pat00010
2,
Figure 112017111008058-pat00011
3,
Figure 112017111008058-pat00012
silver
Figure 112017111008058-pat00013
1 " is calculated. In other words,
Figure 112017111008058-pat00014
and
Figure 112017111008058-pat00015
The same value is because the decimal number is 7, and if the decimal number is different,
Figure 112017111008058-pat00016
It is necessary to repeat the process more than the previous process. According to FIG. 4, since the number of crystal decimals is 7, it can be seen that the number smaller than the number of crystal decimals is calculated as the remaining values.

이하에서는, 패킷생성부(110)가 수학식 1을 통해서 매번 다른 IP 주소를 생성하는 과정을 보다 더 구체적인 예를 들어 설명하기로 한다. 먼저, 패킷생성부(110)는 순열결정인자 g를 3으로 결정하고, 결정소수를 4294967311(2의 32제곱에 15를 더한 수)로 결정하고, 첫 번째 10진수가 2598이라고 가정한다. 그러면, 두 번째 10진수는 2598에 3을 곱한 값을 4294967311로 나눈 나머지인 7794가 된다. 패킷생성부(110)는 10진수 7794를 IPv4 주소로 변환하여, IP 주소 0.0.30.114를 생성한다. 즉, 패킷생성부(110)가 생성한 첫 번째 IP 주소는 0.0.30.114이다. 본 실시 예에서, 패킷생성부(110)가 10진수를 도트 10진수 IP 주소로 변환하는 방법에 대한 설명은 종래에 널리 알려진 방법이므로 그에 대한 설명은 생략하기로 한다.Hereinafter, a process in which the packet generator 110 generates another IP address every time through Equation (1) will be described in more detail. First, the packet generation unit 110 determines the permutation determination factor g to be 3, and determines the decimal fraction to be 4294967311 (the second power of 2 multiplied by 15), and the first decimal number is 2598. Then the second decimal number is 7794, the remainder of dividing 2598 by 3 times 4294967311. The packet generation unit 110 converts the decimal number 7794 into the IPv4 address, and generates the IP address 0.0.30.114. That is, the first IP address generated by the packet generation unit 110 is 0.0.30.114. In this embodiment, a description of how the packet generation unit 110 converts a decimal number into a dot-decimal IP address is a well-known method in the related art, and a description thereof will be omitted.

이어서, 패킷생성부(110)는 세 번째 10진수인 23382, 네 번째 10진수인 70146을 IP 주소로 변환하여, 0.0.91.86 및 0.1.18.2를 각각 생성한다. 위와 같은 과정을 계속 반복하다보면, 첫 번째 10진수인 2598와 동일한 10진수가 수학식 1의 좌변값으로 산출되며, 패킷생성부(110)는 생성될 수 있는 모든 IP 주소가 생성된 것으로 보고 해당 순열에 대한 IP 주소 생성을 중지한다.Then, the packet generation unit 110 converts 23382, which is the third decimal number, and 70146, which is the fourth decimal, into IP addresses, and generates 0.0.91.86 and 0.1.18.2, respectively. If the above process is continuously repeated, the decimal equivalent to 2598, which is the first decimal number, is calculated as the left side value of Equation 1. The packet generation unit 110 regards all the IP addresses that can be generated as being generated, Stop generating IP addresses for permutations.

종래기술처럼 IPv4 주소 공간에서 생성될 수 있는 IP 주소를 순서대로 생성하고, 그 IP 주소에 대해 스캐닝 작업을 하면, 목적지 네트워크의 과부하를 유발할 수 있으며, 일시적인 네트워크 오류에 의해 스캐닝 결과가 불일치할 가능성이 있으나, 본 선택적 실시 예에 따라 임의 순열(random circulation) 방식을 통해 IP 주소를 생성하면 전술한 문제점이 최소화되는 이점이 있다. 본 선택적 실시 예는, 패킷생성부(110)가 실행시킨 프로세스 내에 정의된 주소생성 스레드(address generating thread)에 의해서 수행될 수 있다.It is possible to generate an IP address that can be generated in the IPv4 address space in order and to scan the IP address in the same manner as in the prior art, which may cause an overload of the destination network and a possibility that the scanning result is inconsistent due to a temporary network error However, if an IP address is generated through a random circulation scheme according to this alternative embodiment, the above-described problem is minimized. This optional embodiment can be performed by an address generating thread defined in the process executed by the packet generating unit 110. [

패킷생성부(110)는 위와 같은 과정을 통해 생성한 복수의 IP 주소로 패킷을 생성하여 송신한다. 패킷생성부(110)는 각 IP 주소로 패킷을 생성하여 송신할 때, 각 IP 주소에 위치한 장치의 장치정보를 스캐닝하는 동안, 변경되지 않는 이더넷 헤더(ethernet header)의 체크섬(check sum)을 제거하여, 리눅스 커널(Linux Kernel)이 모든 패킷마다 불필요한 점검을 하는 것을 방지함으로써, 리눅스 커널의 오버헤드를 감소시킨다. 패킷생성부(110)는 전술한 주소생성 스레드와는 별개의 스레드를 통해서 이더넷 헤더의 체크섬을 제거하는 작업이 수행되도록 한다.The packet generating unit 110 generates and transmits a packet to a plurality of IP addresses generated through the above process. The packet generator 110 removes a check sum of an Ethernet header that is not changed while scanning device information of a device located at each IP address when generating and transmitting a packet with each IP address This reduces the overhead of the Linux kernel by preventing the Linux kernel from performing unnecessary checks on every packet. The packet generation unit 110 performs an operation of removing the checksum of the Ethernet header through a thread separate from the address generation thread described above.

이어서, 응답정보산출부(130)는 복수의 IP 주소로 송신된 패킷에 대응되는 응답패킷을 수신하고, IP 주소별로 수신된 응답패킷을 통합한 응답정보를 산출한다. 응답패킷은 그 IP 주소에 해당하는 사물인터넷 장치의 장치정보를 포함하고, 응답정보는 패킷생성부(110)에 의해 생성된 모든 IP 주소에 해당하는 사물인터넷 장치들의 장치정보를 포함한다. The response information calculation unit 130 receives the response packet corresponding to the packet transmitted to the plurality of IP addresses, and calculates the response information combining the response packets received for each IP address. The response packet includes the device information of the object Internet devices corresponding to the IP address, and the response information includes the device information of the object Internet devices corresponding to all the IP addresses generated by the packet generation unit 110.

실시 예에 따라서, 전술한 것과 달리, 사물인터넷 장치들로부터 송신되는 응답패킷은 장치정보를 송신하기에 앞서 통신체계를 확립하기 위한 확인정보만 포함할 수도 있다. 이 경우, 추후에 반응형 스캔 스레드에서 다시 한번 사물인터넷 장치에게 장치정보의 송신을 요청하게 된다.According to the embodiment, unlike the above, the response packet transmitted from the object Internet devices may contain only confirmation information for establishing the communication system prior to transmitting the device information. In this case, the response type scan thread requests the object Internet device to send the device information again once more.

일반적으로, 원격지에 있는 장치간의 패킷의 송수신은 전송 제어 프로토콜(TCP: Transmission Control Protocol)에 의하므로, 이를 기초로 설명하면, 패킷생성부(110)가 패킷을 생성하여 각 IP 주소에 송신할 때의 각 패킷은 동기화 요청메시지(SYN)에 해당한다. 동기화 요청메시지(SYN)를 수신한 각 IP 주소에 대응되는 사물인터넷 장치는 동기화 승인메시지(SYN-ACK)를 생성하여 응답정보산출부(130)에 송신한다. 패킷생성부(110) 또는 응답정보산출부(130)는 3-way 핸드셰이킹(handshaking)에 따라, 승인메시지(ACK)를 각 사물인터넷 장치에 송신해야 하나, 본 발명에서는 승인 메시지를 보내지 않고 동기화를 위한 통신을 종료하며, 이는 최소한의 패킷 교환으로 사물인터넷 장치의 응답여부를 검증할 수 있도록 해준다.In general, the transmission and reception of packets between remote devices is based on a transmission control protocol (TCP). Therefore, when the packet generating unit 110 generates a packet and transmits it to each IP address (SYN). ≪ / RTI > The object Internet apparatus corresponding to each IP address that receives the synchronization request message SYN generates a synchronization acknowledgment message (SYN-ACK) and transmits it to the response information calculation unit 130. [ The packet generating unit 110 or the response information calculating unit 130 must send an acknowledgment message (ACK) to each of the object Internet devices in accordance with 3-way handshaking. In the present invention, The communication for synchronization is terminated, which enables verification of the response of the object Internet device by a minimum packet exchange.

선택적 일 실시 예로서, 응답정보산출부(130)는 응답패킷을 커널(kernel) 영역을 통과하여 사용자단에서 처리하는 방식을 통해서, 응답정보를 산출할 수도 있다. 본 선택적 실시 예에 따르면, 응답패킷을 처리하기 위해서 매번 복사하는 과정이 생략되어, 응답정보산출부(130)의 오버헤드를 줄일 수 있다.In an alternative embodiment, the response information calculation unit 130 may calculate the response information through a method of processing a response packet through a kernel area and processing at a user end. According to this alternative embodiment, the process of copying every time to process the response packet is omitted, and the overhead of the response information calculation unit 130 can be reduced.

도 5는 응답정보산출부가 응답패킷을 커널 영역을 통과시켜 사용자단에서 처리하는 것을 도식적으로 나타낸 도면이다.5 is a diagram schematically showing that the response information calculation unit passes the response packet through the kernel area and processes it at the user end.

도 5를 참조하면, 응답패킷이 하드웨어(510) 및 커널 영역(530)을 그대로 통과하여 라이브러리(550)를 거쳐서 바로 사용자단(570)에서 처리되는 것을 알 수 있다. 여기서, 사용자단(570)은 응답패킷을 라이브러리를 통하여 수신하고, 응답패킷의 데이터 처리결과를 공유하는 적어도 하나 이상의 어플리케이션으로 구성된다.Referring to FIG. 5, it can be seen that the response packet passes through the hardware 510 and the kernel area 530 as it is and is processed at the user terminal 570 immediately via the library 550. Here, the user terminal 570 includes at least one application that receives the response packet through the library and shares the data processing result of the response packet.

도 5에서 라이브러리(550)는 데이터 플레인 가속화(DPA: Data Plane Acceleration)기술에 따른 DPA 라이브러리일 수도 있다. 데이터 플레인 가속화 기술의 예는 이미 공개된 문헌(선행기술문헌 중 비특허문헌 목차에 기재된 문헌)에 다양하게 기재되어 있으므로, 이에 대한 자세한 설명은 생략하기로 한다.In FIG. 5, the library 550 may be a DPA library according to Data Plane Acceleration (DPA) technology. An example of the data plane acceleration technique is variously described in the already-disclosed documents (the documents listed in the table of the non-patent literatures in the prior art documents), so a detailed description thereof will be omitted.

이하에서는, 도 3에 대한 설명을 이어서 하기로 한다.Hereinafter, description on Fig. 3 will be described.

분할처리부(150)는 응답정보산출부(130)가 산출한 응답정보를 미리 설정된 프로세스의 수에 따라 분할하고, 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드를 통해서 분할처리한다.The division processing unit 150 divides the response information calculated by the response information calculation unit 130 according to the number of processes set in advance and divides the divided response information through a plurality of threads included in each process.

먼저, 분할처리부(150)는 응답정보를 응답정보산출부(130)로부터 수신하고, 응답정보를 프로세스의 수에 따라 분할한다. 프로세스의 수는 미리 설정된 값으로서, 본 발명에 따른 시스템의 관리자에 의해서 특정 시점에서 최적의 값으로 변경될 수도 있고, 또한, 다른 예로서, 분할처리부(150)에 포함된 연산장치가 응답정보의 크기를 기초로 하여, 응답정보를 분할하여 처리하기에 적절한 프로세스의 수를 임의로 결정할 수도 있다.First, the division processing unit 150 receives the response information from the response information calculation unit 130, and divides the response information according to the number of processes. The number of processes may be a predetermined value and may be changed to an optimum value at a specific time by the administrator of the system according to the present invention. Based on the size, the number of processes suitable for dividing and processing the response information may be arbitrarily determined.

프로세스(process)는 분할처리부(150)에 미리 저장되어 있는 응답정보처리 프로그램이 실행되면, 적어도 하나 이상 생성되어 프로그램의 코드 또는 스크립트에 따른 작업을 수행한다. 분할처리부(150)는 프로세스의 수가 몇 개인지 파악하고, 응답정보를 프로세스의 수에 따라 분할한다. 예를 들어, 응답정보의 크기가 1기가바이트(giga bytes)짜리 파일이고, 4개의 프로세스가 있다면, 각 프로세스가 담당하는 분할된 응답정보의 크기는 250메가바이트(mega bytes)가 될 수 있다. 각 프로세스는 독립적이고, 별개의 메모리를 차지하므로, 각 프로세스의 특성에 따라 서로 다른 작업량을 할당받아 수행할 수도 있다.When a response information processing program stored in advance in the partitioning processing unit 150 is executed, at least one process is generated and performed according to the code or script of the program. The division processing unit 150 determines how many processes are included and divides the response information according to the number of processes. For example, if the size of the response information is 1 gigabyte, and there are four processes, the size of the divided response information that each process is responsible for can be 250 megabytes. Each process is independent and takes up a separate memory, so you can allocate different workloads depending on the characteristics of each process.

이어서, 분할처리부(150)는 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드를 통해서 처리하도록 한다. 프로세스 내부에는 적어도 하나 이상의 스레드(thread)가 포함된다. 스레드는 프로세스 내부에 존재하는 일련의 실행코드로서, 프로세스가 생성될 때 하나의 주 스레드(main thread)가 생성되어 대부분의 작업을 처리하고, 주 스레드가 종료되면, 프로세스도 종료된다. 본 발명에서는 멀티스레드(multi thread)방식을 통해서 응답정보를 처리하며, 멀티스레드는 멀티프로세스와는 달리 스레드간에 프로세스내의 메모리를 공유하여 사용할 수 있어서, 전환속도가 우수하고, 분할처리부의 CPU가 멀티코어 CPU(Central Processing Unit)일 경우, 각각의 CPU마다 스레드를 하나씩 담당하도록 하여 전체적인 작업속도를 높이는 것이 가능하다.Subsequently, the division processing unit 150 causes the divided response information to be processed through a plurality of threads included in each process. At least one thread is included in the process. A thread is a set of executable code that exists inside a process. When a process is created, one main thread is created to handle most of the work, and when the main thread ends, the process is terminated. In the present invention, the response information is processed through a multi-thread method. Unlike the multi-thread process, the multi-thread can share the memory in the process between the threads, In the case of a core CPU (Central Processing Unit), it is possible to increase the overall operation speed by having each CPU take charge of one thread.

선택적 일 실시 예로서, 분할처리부(150)는 응답정보를 서로 다른 크기로 분할하되, 스레드가 분할처리하는 분할된 응답정보의 크기는 모두 동일할 수도 있다. 전술한 과정을 통해서 분할처리부(150)는 응답패킷을 하나로 통합한 응답정보를 프로세스의 수로 분할하며, 이 분할과정에서 분할처리부(150)는 응답정보를 서로 다른 크기로 분할한다. 이때, 분할처리부(150)가 응답정보를 서로 다른 크기로 분할하는 기준은 여러가지가 될 수 있다. 일 예로서, 분할처리부(150)는 프로세스가 사용하는 메모리의 크기를 기초로 하여 응답정보를 서로 다른 크기로 분할할 수 있다. 즉, 80MB의 메모리를 사용하는 프로세스가 처리하는 응답정보의 크기는 40MB의 메모리를 사용하는 프로세스가 처리하는 응답정보의 크기의 두 배가 되도록, 응답정보가 서로 다른 크기로 분할될 수 있다.In an alternative embodiment, the partitioning processor 150 divides the response information into different sizes, and the size of the divided response information divided by the thread may be all the same. Through the above-described process, the division processor 150 divides the response information into a number of processes in which response packets are integrated into one, and the division processor 150 divides response information into different sizes in this division process. At this time, the criterion for dividing the response information into different sizes by the division processing unit 150 may be various. As an example, the division processor 150 may divide the response information into different sizes based on the size of the memory used by the process. That is, the size of the response information processed by a process using 80 MB of memory can be divided into different sizes so that the size of the response information is twice the size of the response information processed by a process using 40 MB of memory.

일단, 위와 같은 과정을 통해서 프로세스별로 분할된 응답정보가 할당되고 나면, 프로세스내에 생성된 복수의 스레드는 분할처리부(150)에 의해 분할된 응답정보를 재차 스레드의 수로 분할하여 처리한다. 일 예로서, 50MB의 응답정보를 처리하는 프로세스내에 5개의 스레드가 생성되어 있다면, 각 스레드는 10MB의 응답정보를 처리하게 된다.Once the divided response information is allocated to each process through the above process, the plurality of threads generated in the process divides the response information divided by the division processing unit 150 into the number of threads again and processes the response information. As an example, if five threads are created in a process that processes 50 MB of response information, each thread will process 10 MB of response information.

도 6은 복수의 프로세스내에 생성된 복수의 스레드가 응답정보를 분할하여 처리하는 구조를 도식화한 도면이다.6 is a diagram showing a structure in which a plurality of threads generated in a plurality of processes divide and process response information.

도 6은 도 1에서 설명한 중복적인 핑거프린팅 프로세스로 인한 시스템의 성능병목현상을 방지하기 위해서 고안된 구조로서, 설명의 편의를 위해서, 도 1 및 도 3을 참조하여 설명하기로 한다.FIG. 6 is a structure designed to prevent the performance bottleneck of the system due to the redundant fingerprinting process described in FIG. 1, and will be described with reference to FIGS. 1 and 3 for convenience of explanation.

먼저, 응답정보는 IP 주소를 스캔한 결과로서 생성되는 정보로서, 인터넷에서 데이터를 주고 받을 때에 데이터를 표현하는 방법 중 가장 일반적인 제이슨(JSON : JavaScript Object Notation)포맷이 될 수 있다. 응답정보는 분할처리부(150)에 의해서, 프로세스의 수만큼 분할되고, 분할된 응답정보는 서로 다른 크기를 가질 수 있다.First, the response information is generated as a result of scanning an IP address. The response information may be the JSON (JavaScript Object Notation) format, which is the most common method of representing data when data is exchanged on the Internet. The response information is divided by the number of processes by the division processing unit 150, and the divided response information may have different sizes.

각 프로세스에 할당된 응답정보는 프로세스내에 생성된 복수의 스레드에 의해서 처리된다. 보다 구체적으로, 프로세스내의 스레드는 분할된 응답정보에 대해서 데이터 검색(search)의 부하를 감소시키기 위한 인덱싱(indexing) 작업 및 데이터 파싱(parsing)의 부하를 감소시키기 위한 포맷변환 작업을 수행한다. 복수의 프로세스에서의 복수의 스레드에 의한 인덱싱 작업 및 포맷변환 작업을 수행하기 위한 고속병렬구조(610)는 도 1에서 설명한 각 프로세스에서의 성능병목현상을 방지하기 위한 구조이다.The response information assigned to each process is processed by a plurality of threads created in the process. More specifically, a thread in the process performs an indexing operation to reduce the load of data search for the divided response information and a format conversion operation to reduce the load of data parsing. The fast parallel structure 610 for performing an indexing operation and a format conversion operation by a plurality of threads in a plurality of processes is a structure for preventing a performance bottleneck in each process described in FIG.

이하에서는, 고속병렬구조(610)에서의 프로세스 1의 반응형스캔 스레드 1(이하, "대상 스레드")의 처리과정에 대해서 기술하기로 한다. 분할처리부(150)는 응답정보를 프로세스의 수인 10개로 분할하여, 각 프로세스에 할당한다. 프로세스 1 내지 프로세스 10은 프로세스내에 복수의 스레드를 생성하고, 할당받은 응답정보가 복수의 스레드에 의해 처리되도록 한다. Hereinafter, the process of the reactive scan thread 1 (hereinafter, "target thread") of the process 1 in the fast parallel structure 610 will be described. The division processing unit 150 divides the response information into 10 processes, which are the number of processes, and allocates them to the respective processes. Processes 1 to 10 generate a plurality of threads in the process, and the allocated response information is processed by a plurality of threads.

일 예로서, 대상 스레드는 프로세스별로 분할된 응답정보를 재차 N으로 나눈 결과를 수신하여 처리한다. 대상 스레드는 응답정보로부터 패킷생성부(110)로부터 패킷을 수신하고 난 뒤에 응답패킷을 송신한 사물인터넷 장치의 IP주소를 특정하고, 그 사물인터넷 장치로부터 운영체제 정보(장치정보)를 추가적으로 요청하여 수신한다. 대상 스레드는 운영체제 정보가 미리 저장되어 있는 규칙 파일(Rule File)에 정의된 필드 순서와 동일한 순서로 조정하고, 이 과정에서 수집된 운영체제 정보의 필드 수를 운영체제 정보의 메타데이터(metadata)로서 운영체제 정보에 추가한다. 여기서, 규칙 파일은 후술하는 핑거프린팅 프로세스에서 이용되는 참조파일로서, 배경기술에서 설명한 바 있다.As an example, the target thread receives and processes the result obtained by dividing the response information divided by the process N again. The target thread receives the packet from the packet generating unit 110 from the response information, specifies the IP address of the object Internet apparatus that has transmitted the response packet, additionally requests the operating system information (apparatus information) from the object Internet apparatus, do. The target thread adjusts the field order in the same order as the field order defined in the rule file in which the operating system information is stored in advance. The number of fields of the operating system information collected in this process is used as the metadata of the operating system information, . Here, the rule file is a reference file used in a fingerprinting process described later, and has been described in the background art.

대상 스레드는 최종적으로 수집된 반응형 스캔 결과를 파싱(parsing)하여, 큐(queue)에 송신하며, 큐에는 복수의 스레드로부터 송신된 반응형 스캔 결과가 순서에 맞춰서 누적된다.The target thread finally parses and sends the collected reactive scan results to a queue, where the reactive scan results sent from the plurality of threads are accumulated in order.

대상 스레드가 운영체제 정보를 규칙 파일에 정의된 필드 순서와 동일한 순서로 조정하는 과정 및 수집된 필드의 수를 운영체제 정보의 메타데이터로 추가하는 과정은 핑거프린팅프로세스에서의 데이터 검색의 부하 감소를 위한 인덱싱 작업이며, 대상 스레드가 반응형 스캔 결과를 파싱하여 큐에 송신하는 과정은 핑거프린팅프로세서에서의 데이터 파싱 감소를 위한 포맷 변환 과정에 해당한다.The process of adjusting the operating system information in the same order as the field order defined in the rule file and the process of adding the number of collected fields to the meta data of the operating system information are performed by indexing for load reduction of data retrieval in the fingerprinting process The process of parsing the reactive scan result by the target thread and transmitting the result to the queue corresponds to a format conversion process for reducing data parsing in the fingerprinting processor.

도 7은 응답정보가 고속병렬구조에서의 프로세스내에 생성된 스레드에서 처리되기 위해서 스레드에 할당되는 과정을 도식화한 도면이다.7 is a diagram illustrating a process in which response information is assigned to a thread to be processed in a thread created in a process in a fast parallel structure.

도 7을 참조하면, IP 스캔결과파일 1(710), 프로세스 1(730), IP 스캔결과파일 N(750), 프로세스 N(770)을 포함하는 것을 알 수 있으며, 설명의 편의를 위해서, 도 3을 참조하여 설명하기로 한다.Referring to FIG. 7, it can be seen that IP scan result file 1 710, process 1 730, IP scan result file N 750, and process N 770 are included. For convenience of explanation, 3 will be described.

먼저, IP 스캔결과파일 1(710)은 분할처리부(150)에 의해서 프로세스의 수에 따라서 분할된 응답정보 중 하나를 의미한다. 분할처리부(150)는 응답정보를 프로세스의 수인 N개로 분할하고, 분할된 응답정보의 크기는 각 프로세스가 차지하는 메모리에 따라서 서로 다를 수 있다. 도 7에서 IP 스캔결과파일 1(710)의 크기는 125MB이다.First, the IP scan result file 1 710 indicates one of pieces of response information divided by the division processing unit 150 according to the number of processes. The partitioning processor 150 divides the response information into N pieces of the number of processes, and the size of the divided response information may be different depending on the memory occupied by each process. 7, the size of the IP scan result file 1 (710) is 125 MB.

프로세스 1(730)은 IP 스캔결과파일 1(710)을 처리한다. 프로세스 1(730)은 100개의 반응형 스캔스레드를 생성하고, 각 스레드가 IP 스캔결과파일 1(710)을 분할하여 처리하도록 제어한다. 보다 구체적으로, 프로세스 1(730)은 IP 스캔결과파일 1(710)을 누락 또는 중복없이 균등하게 처리할 수 있도록, IP 스캔결과파일 1(710)의 크기를 스레드의 수인 100으로 나누고, 그 크기만큼의 오프셋(offset)으로 파일에 접근하여 처리하도록 제어한다. 일 예로서, 프로세스 1(730)내에 생성된 반응형 스캔스레드 1은 IP 스캔결과파일 1(710)의 0MB에서 1.25MB까지의 구간을 할당받아서 처리하고, 프로세스 1(730)내에 생성된 반응형 스캔스레드 100은 IP 스캔결과파일 1(710)의 123.75MB부터 125MB까지의 구간을 할당받아서 처리한다.Process 1 730 processes the IP scan result file 1 (710). Process 1 730 generates 100 response type scan threads, and controls each thread to divide and process IP scan result file 1 710. More specifically, the process 1 730 divides the size of the IP scan result file 1 710 by 100, which is the number of threads, so that the IP scan result file 1 710 can be processed equally without missing or duplicated, The file is accessed and processed at an offset as much as the number of bytes. As an example, the reactive scan thread 1 generated in the process 1 730 is allocated and processed in a period from 0 MB to 1.25 MB of the IP scan result file 1 (710), and the response type generated in the process 1 (730) The scan thread 100 allocates and processes an interval of 123.75 MB to 125 MB of the IP scan result file 1 (710).

IP 스캔결과파일 N(750)은 분할처리부(150)에 의해서 프로세스의 수에 따라서 분할된 응답정보 중 IP 스캔결과파일 1(710)과 서로 다른 하나를 의미한다. 도 7에서 IP 스캔결과파일 N(750)의 크기는 120MB이다.The IP scan result file N 750 represents one of the pieces of response information divided by the division processing unit 150 according to the number of processes, which is different from the IP scan result file 1 710. 7, the size of the IP scan result file N 750 is 120 MB.

프로세스 N(770)은 IP 스캔결과파일 N(750)을 처리한다. 프로세스 N(770)은 100개의 반응형 스캔스레드를 생성하고, 각 스레드가 IP 스캔결과파일 N(750)을 분할하여 처리하도록 제어한다. 일 예로서, 프로세스 N(770)내에 생성된 반응형 스캔스레드 2는 IP 스캔결과파일 N(750)의 1.2MB에서 2.4MB까지의 구간을 할당받아서 처리하고, 프로세스 N(770)내에 생성된 반응형 스캔스레드 100은 IP 스캔결과파일 N(750)의 123.8MB부터 125MB까지의 구간을 할당받아서 처리한다.Process N770 processes the IP scan result file N (750). Process N770 generates 100 reactive scan threads and controls each thread to divide and process IP scan result file N 750. [ As an example, the reactive scan thread 2 generated in the process N 770 is allocated and processed in a period from 1.2 MB to 2.4 MB in the IP scan result file N 750, and the response generated in the process N 770 Type scan thread 100 allocates and processes an interval of 123.8 MB to 125 MB of the IP scan result file N 750.

도 7에 도시된 것과 같이, 프로세스가 차지하는 메모리 등에 따라서 프로세스별로 처리하는 분할된 응답정보의 크기는 서로 다를 수 있고, 같은 프로세스내에서 생성되어 반응형 스캔 작업을 수행하는 반응형 스캔스레드가 처리하도록 할당받는 응답정보의 크기는 서로 동일하다. 프로세스내의 반응형 스캔스레드들은 응답정보로부터 IP 주소를 파악하고, 그 IP 주소에 해당하는 사물인터넷 장치와 추가적인 통신을 거쳐서 운영체제 정보를 수신하고, 핑거프린팅 프로세스를 일괄적으로 진행하기 위해서, 인덱싱 및 파싱 작업을 수행하게 된다.As shown in FIG. 7, the size of the divided response information processed by the process may be different according to the memory occupied by the process, etc., and may be generated by a reactive scan thread that is generated in the same process and performs a reactive scan operation The size of the response information to be allocated is the same. The responsive scan threads in the process receive the IP address from the response information, receive the operating system information through the additional communication with the object Internet device corresponding to the IP address, and perform the indexing and parsing And perform the operation.

이하에서는, 도 3에 대한 설명을 계속하기로 한다.The description with reference to FIG. 3 will be continued below.

장치정보파악부(170)는 분할처리된 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리한 결과를 기초로 하여 응답패킷을 송신한 각 장치들의 장치정보를 파악한다.The device information determination unit 170 determines device information of each device that has transmitted the response packet based on the result of processing the divided response information through a plurality of fingerprinting processes.

먼저, 장치정보파악부(170)는 분할처리부(150)로부터 복수의 스레드를 통해서 분할처리된 응답정보를 수신한다. 여기서, 분할처리된 응답정보는 복수의 스레드에 의해서 핑거프린팅 프로세스를 진행하기 위한 인덱싱 및 파싱이 완료된 정보이며, 핑거프린팅 프로세스에서의 규칙 파일과의 매칭을 통해서 응답패킷을 보낸 사물인터넷 장치들의 장치정보가 파악될 수 있다.First, the device information determination unit 170 receives response information that is divided and processed through the plurality of threads from the division processing unit 150. [ Herein, the divided response information is information that has been indexed and parsed for proceeding with the fingerprinting process by a plurality of threads, and matches the rule file in the fingerprinting process, Can be grasped.

핑거프린팅 프로세스에서는 분할처리된 응답정보를 미리 저장되어 있는 규칙 파일과 매칭되는 결과가 있는지 검색하는 방식으로 응답패킷을 보낸 사물인터넷 장치들의 장치정보가 파악된다. 도 1의 기존 구조에서의 핑거프린팅 프로세스에 따르면, 반응형 스캔 결과에서 데이터를 파싱하고, 그 파싱 결과를 하나의 문자열 변수로 만든 후, 규칙 파일의 모든 내용과 문자열 비교 연산을 하게 되어 성능의 병목현상이 발생하지만, 본 발명에 따르면, 도 6에서 설명한 고속 병렬 구조에 따라 복수의 스레드가 핑거프린팅 프로세스를 위한 사전 작업으로서, 데이터 검색의 부하 감소를 위한 인덱싱 작업 및 데이터 파싱의 부하 감소를 위한 포맷 변환을 수행함으로써, 핑거프린팅 프로세스가 진행될 때에 성능의 병목현상(입출력이 지연되면서 처리속도가 현저히 느려지는 현상)이 방지된다.In the fingerprinting process, the device information of the destination Internet devices that send the response packet is determined by searching for a result matching the stored rule file with the previously stored response information. According to the fingerprinting process in the existing structure of FIG. 1, the data is parsed from the response-type scan result, the parsing result is made into one string variable, and then the string comparison operation is performed with all the contents of the rule file. However, according to the present invention, in accordance with the high-speed parallel structure described in FIG. 6, a plurality of threads are used as a preliminary task for the fingerprinting process, as a format for reducing the load of data parsing By performing the conversion, a performance bottleneck (a phenomenon in which the processing speed is significantly slowed down due to delay in input / output) is prevented when the fingerprinting process proceeds.

선택적 일 실시 예로서, 장치정보파악부(170)는 복수의 핑거프린팅 프로세스가 큐(queue)에 쌓인 분할처리된 응답정보를 병렬적으로 처리하고, 병렬적으로 처리된 응답정보를 통합하고, 통합된 응답정보를 기초로 각 장치들의 장치정보를 파악할 수도 있다.In an alternative embodiment, the device information acquiring unit 170 may process the plurality of fingerprinting processes in parallel in a queue and process the divided response information, integrate the parallelly processed response information, The device information of each device can be grasped based on the response information.

도 8은 복수의 핑거프린팅 프로세스를 통해서 큐에 쌓인 정보가 병렬적으로 처리되는 과정을 도식화한 도면이다.FIG. 8 is a diagram illustrating a process in which information stored in a queue is processed in parallel through a plurality of fingerprinting processes.

먼저, IP 스캔결과는 고속병렬구조에서의 10개의 프로세스, 총 10에 n을 곱한 수의 스레드에 의해서 분할처리되고, 분할처리된 결과는 큐 1(queue 1)에 누적된다. 장치정보파악부(170)는 복수의 핑거프린팅프로세스를 생성하여, 큐 1에 쌓인 정보들을 병렬적으로 처리하도록 제어한다.First, the IP scan result is divided into 10 processes in a high-speed parallel structure, a total of 10 multiplied by n threads, and the divided processing result is accumulated in a queue 1. The device information obtaining unit 170 generates a plurality of fingerprinting processes and controls the information stored in the queue 1 to be processed in parallel.

도 8에서 복수의 핑거프린팅 프로세스가 병렬적으로 진행될 때, 큐 1에 반응형 스캔스레드가 처리한 정보들이 규칙 파일에 정의된 필드 순서와 동일한 순서에 따라 데이터가 수집되었고, 규칙 파일과의 매칭과정에서 검색의 범위를 줄이기 위해 수집 필드의 개수가 분할처리된 응답정보의 메타데이터로서 포함되어 있으므로, 핑거프린팅 프로세스가 진행되는 과정에서 성능의 병목현상이 발생하지 않는다.In FIG. 8, when a plurality of fingerprinting processes are performed in parallel, data processed by the reactive scan thread in queue 1 is collected in the same order as the field order defined in the rule file, and the matching process with the rule file Since the number of collection fields is included as the metadata of the divided response information in order to reduce the range of the search, the performance bottleneck does not occur during the fingerprinting process.

반응형 스캔스레드가 처리한 정보는 파싱(parsing)이 완료되어 문자열 변수(string variable)로 표현되는데, 이러한 문자열 변수는 특정한 정보를 포함하고 있지만, 일반적으로 규칙 파일에 정의된 필드 순서와 동일한 순서가 아니다. 그리고, 반응형 스캔스레드가 처리한 정보에서 일부 필드에 대한 정보가 생략되어 있다면, 핑거프린팅 프로세스에서 그 필드에 대해서는 규칙 파일과 일일이 매칭을 하지 않아도 된다. The information processed by the responsive scan thread is parsed and represented as a string variable that contains specific information but generally has the same order as the field order defined in the rule file no. If the information about some fields is omitted from the information processed by the reactive scan thread, the fingerprinting process does not need to match the rule file with the rule file.

간단한 숫자로 예를 들면, 규칙 파일의 정보가 12345의 필드 순서에 따라 기록되어 있고, 반응형 스캔스레드가 처리하기 전의 어떤 장치의 장치정보가 531이라면, 반응형 스캔스레드는 531을 규칙 파일의 필드 순서에 맞춰서 135로 바꾸고, 수집된 필드 수는 5개 중 3개라는 정보를 추가로 산출하게 된다. 이후, 장치정보파악부(170)는 병렬적으로 처리되는 핑거프린팅 프로세스 중 하나가 규칙 파일과 반응형 스캔스레드가 처리한 정보를 매칭하는 방식으로 장치의 장치정보를 파악할 수 있으며, 이 과정은 기존의 핑거프린팅 프로세스와 달리, 필드의 순서 및 개수에 대한 정보가 이미 존재함에 따라, 성능의 병목현상없이 빠르게 처리될 수 있다.For example, if the information of the rule file is recorded in accordance with the field order of 12345, and the device information of a certain device before processing by the responsive scan thread is 531, the reactive scan thread writes 531 to the field The number of fields collected is changed to 135 according to the order, and the information that the number of collected fields is three out of five is additionally calculated. Thereafter, the device information acquiring unit 170 can grasp the device information of the device in such a manner that one of the fingerprinting processes that are processed in parallel matches the information processed by the rule file and the reactive scan thread, Unlike the fingerprinting process of FIG. 1, information on the order and number of fields already exists, and can be processed quickly without performance bottlenecks.

복수의 핑거프린팅 프로세스가 병렬적으로 처리되고 나면, 장치정보파악부(170)는 각 프로세스가 처리한 결과를 큐 2(queue 2)에 보내도록 하고, 장치정보파악부(170)는 새로운 프로세스를 통해서 큐 2에 쌓인 순서를 기초로 하여 병렬적으로 처리된 응답정보를 하나로 통합한다. 위와 같은 과정으로 통합된 응답정보를 통해 장치정보파악부(170)는 패킷생성부(110)가 패킷을 보냈을 때, 응답패킷을 송신하고, 반응형 스캔스레드의 장치정보의 송신요청에 따라서 장치정보를 송신한 장치들의 장치정보를 일괄적으로 파악할 수 있으며, 파악된 장치정보를 각 장치에 대한 JSON 형태의 결과파일을 생성할 수도 있다.When a plurality of fingerprinting processes are processed in parallel, the device information acquiring unit 170 causes the process result of each process to be sent to the queue 2, and the device information acquiring unit 170 acquires a new process And concatenates the response information processed in parallel based on the stacking order in queue 2 into one. In response to the request for transmission of the device information of the reactive scan thread, the device information acquiring unit 170 transmits the response packet when the packet generating unit 110 sends the packet through the integrated response information, The device information of the devices transmitting the information can be grasped collectively and the obtained device information can be generated as a JSON type result file for each device.

본 발명에서, 복수의 핑거프린팅 프로세스를 전후로 하여 큐 1 및 큐 2를 통해 데이터를 처리하는 것은, 복수의 프로세스가 메모리를 공유하면서 빠른 속도로 입력되는 데이터를 처리하기 위함이다. 복수의 프로세스가 여러 개의 파일에 쓰기 작업을 할 경우, 빈번한 디스크 입출력(I/O)으로 인한 성능 저하가 발생하므로, 도 8에서 도시된 것 같은 메모리 큐(memory queue)로 처리하여 성능 저하 요소를 제거하는 것이다.In the present invention, processing data through queues 1 and 2 before and after a plurality of fingerprinting processes is for processing data that is inputted at a high speed while a plurality of processes share a memory. When a plurality of processes write to a plurality of files, performance is deteriorated due to frequent disk input / output (I / O). Therefore, a memory queue is processed as shown in FIG. 8, To remove it.

도 9는 본 발명에 따라 인터넷을 이용하여 장치정보를 수집하는 방법의 일 예의 흐름도를 도시한 도면이다.9 is a flowchart illustrating an example of a method of collecting device information using the Internet according to the present invention.

도 9에 따른 방법은 도 3에 따른 시스템에 의해 구현될 수 있으므로, 이하에서는, 도 3에서 설명한 내용과 중복된 설명은 생략하기로 하며, 설명의 편의를 위해서, 도 3을 참조하여 설명하기로 한다. 본 발명에 따른 시스템은 패킷생성부, 응답정보산출부, 분할처리부 및 장치정보파악부를 포함한다.Since the method according to FIG. 9 can be implemented by the system according to FIG. 3, the description of FIG. 3 will not be repeated below, and for convenience of description, do. The system according to the present invention includes a packet generation unit, a response information calculation unit, a division processing unit, and a device information determination unit.

먼저, 패킷생성부는 복수의 IP 주소를 생성하고 생성된 IP 주소로 패킷을 송신한다(S910). First, the packet generating unit generates a plurality of IP addresses and transmits the packet to the generated IP address (S910).

단계 S910의 선택적 일 실시 예로서, 패킷생성부는 순열(circulation) 및 미리 설정된 소수(prime number)를 변수로 하는 수학식을 통해서 IP 주소를 생성할 수도 있다. 본 선택적 실시 예에서 이용될 수 있는 수학식은 수학식 1에서 이미 설명한 바 있다.As an alternative embodiment of step S910, the packet generator may generate an IP address through a formula using a circulation and a preset prime number as a variable. The mathematical formulas that can be used in this optional embodiment have already been described in Equation (1).

이어서, 응답정보산출부는 패킷을 송신한 IP 주소의 장치로부터 응답패킷을 수신하고, IP 주소별로 수신된 응답패킷을 통합한 응답정보를 산출한다(S930).Then, the response information calculation unit receives the response packet from the device having the IP address of the packet that transmitted the packet, and calculates the response information combining the response packet received for each IP address (S930).

단계 S930의 선택적 일 실시 예로서, 응답정보산출부는 패킷을 송신한 IP 주소의 장치로부터 수신한 응답패킷을 커널 영역을 통과시켜서 사용자단에서 처리하는 방식으로 응답정보를 산출할 수도 있다.In an alternative embodiment of the step S930, the response information calculation unit may calculate the response information in such a manner that the response packet received from the device of the IP address to which the packet is transmitted passes through the kernel area and is processed at the user end.

단계 S930의 다른 선택적 일 실시 예로서, 응답정보산출부는 데이터 플레인 가속화(DPA)를 통해서 응답정보를 산출할 수도 있다.In another alternative embodiment of step S930, the response information calculator may calculate the response information via data plane acceleration (DPA).

단계 S930의 또 다른 선택적 일 실시 예로서, 패킷생성부가 IP 주소의 장치에게 송신한 패킷은 전송제어프로토콜의 동기화 요청패킷(SYN 패킷)이고, 응답정보산출부는 동기화 요청패킷에 대한 응답패킷으로서, 동기화 승인패킷(SYN-ACK 패킷)을 수신한 다음, 승인패킷(ACK)패킷을 재차 송신하지 않고, 리셋(RST)플래그를 통해서 해당 IP 주소의 장치와의 연결을 종료하여, 최소한의 패킷 교환으로 응답여부를 검증할 수도 있다.As another alternative embodiment of step S930, the packet transmitted by the packet generator to the apparatus of the IP address is a synchronization request packet (SYN packet) of the transmission control protocol, and the response information calculator is a response packet to the synchronization request packet, After receiving the acknowledgment packet (SYN-ACK packet), it does not send the acknowledge packet (ACK) packet again, ends the connection with the device of the corresponding IP address through the reset (RST) flag, It can also be verified.

분할처리부는 응답패킷을 통합한 응답정보를 미리 설정된 프로세스의 수에 따라서 분할하고, 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드를 통해서 분할처리하도록 제어한다(S950).The division processing unit divides the response information combining the response packets according to the number of the preset processes, and controls the divided response information to be divided through a plurality of threads included in each process (S950).

먼저, 응답패킷을 통합한 응답정보는, 패킷생성부에서 생성한 수많은 IP 주소 중에서, 패킷생성부로부터 패킷을 수신하고 난 후, 응답패킷까지 송신한 장치의 IP 주소에 대한 정보를 포함한다. 분할처리부는 응답패킷을 통합한 응답정보를 미리 설정된 프로세스의 수에 따라서 분할하고, 분할된 응답정보가 프로세스 내에서 다시 한번 스레드의 수로 균등하게 분할되어 처리되도록 제어한다. The response information incorporating the response packet includes information on the IP address of the device that has transmitted the packet from the packet generation unit to the response packet among the numerous IP addresses generated by the packet generation unit. The division processing unit divides the response information in which the response packet is integrated according to the number of the preset processes, and controls the divided response information to be divided into the number of threads once again in the process.

이 과정에서, 각 스레드는 응답정보에 포함된 IP 주소스캐닝 결과를 통해서, IP 주소를 파악한 후, 그 IP 주소에 해당하는 장치로부터 장치정보를 수신한다. 스레드는 장치정보를 수신하고, 핑거프린팅프로세스에서 규칙 파일과의 빠른 매칭을 통해서 최종적으로 모든 장치에 대한 장치정보가 신속하게 파악될 수 있도록, 규칙 파일의 필드 순서와 동일하게 장치정보를 수집하고, 수집 필드의 개수를 각 장치정보의 메타데이터로서 추가로 기록한다.In this process, each thread obtains the IP address from the IP address scanning result included in the response information, and then receives the device information from the device corresponding to the IP address. The thread collects the device information in the same order as the field order of the rule file so that the device information on all the devices can be quickly identified through quick matching with the rule file in the fingerprinting process, The number of collection fields is additionally recorded as metadata of each device information.

단계 S950의 선택적 일 실시 예로서, 분할처리부가 응답패킷을 통합한 응답정보를 프로세스의 수에 따라 분할시킬 때, 분할된 응답정보의 크기가 서로 다르고, 스레드가 분할처리하는 분할된 응답정보의 크기는 모두 동일할 수도 있다. 본 선택적 실시 예는, 멀티프로세스와 멀티스레드의 기능적인 특성에 기인한다. 프로세스가 복수 존재할 때에는 각 프로세스는 독립적이고 별개의 메모리를 차지하지만, 프로세스 내에 복수의 스레드가 생성된 경우, 각 스레드는 프로세스내의 메모리를 공유하여 사용할 수 있어서 전환속도가 더 빠르기 때문이다. As an alternative embodiment of step S950, when the division processing unit divides the response information incorporating the response packet according to the number of processes, the size of the divided response information is different from the size of the divided response information divided by the thread, May all be the same. This optional embodiment is due to the multi-threaded and multi-thread functional characteristics. When there are a plurality of processes, each process occupies an independent and distinct memory, but when a plurality of threads are created in the process, each thread can share the memory in the process and use it because the conversion speed is faster.

분할처리부가 프로세스의 수에 따라 분할시킨 응답정보를 제1분할응답정보라고 호칭할 수 있고, 프로세스의 수에 따라 분할된 응답정보를 스레드의 수에 따라 균등하게 분할한 응답정보를 제2분할응답정보라고 호칭할 수 있다.The response information divided according to the number of processes of the division processing unit may be referred to as first divided response information and the response information obtained by dividing the divided response information in accordance with the number of threads equally according to the number of threads, Information.

장치정보파악부는 분할처리부의 각 스레드가 분할처리한 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리하고, 그 처리한 결과를 기초로 하여 응답패킷을 송신한 각 장치들의 장치정보를 파악한다(S970).The device information determination unit processes the response information divided by each thread of the division processing unit through a plurality of fingerprinting processes and grasps the device information of each device that transmitted the response packet based on the processed result (S970) .

핑거프린팅 프로세스는 IP 스캐닝 결과 및 반응형 스캔 스레드의 반응형 스캐닝 처리결과를 모두 수신하여, 해당 IP 주소의 장치정보(운영체제정보)를 파악하기 위한 과정이다. 빠른 데이터 처리를 위해서, 장치정보파악부는 복수의 핑거프린팅 프로세스를 생성하여 데이터를 처리하도록 하고, 핑거프린팅 프로세스가 처리한 결과를 기초로 하여 각 장치들의 장치정보를 파악한다.The fingerprinting process is a process for receiving both the IP scanning result and the reactive scanning process result of the reactive scan thread and grasping the device information (operating system information) of the corresponding IP address. For fast data processing, the device information acquiring unit generates a plurality of fingerprinting processes to process data, and grasps the device information of each device based on the result of processing by the fingerprinting process.

단계 S970의 선택적 일 실시 예로서, 장치정보파악부는 복수의 핑거프린팅 프로세스가 큐에 쌓인 응답정보를 병렬적으로 처리하고, 병렬적으로 처리된 응답정보를 통합하여, 통합된 응답정보를 기초로 각 장치들의 장치정보를 파악할 수도 있다. 본 선택적 실시 예에서, 장치정보파악부는 각 장치들의 장치정보를 JSON(JavaScript Object Notation)형태의 결과파일을 생성할 수 있다는 것을 도 8을 통해서 설명한 바 있다.As an alternative embodiment of step S970, the apparatus information obtaining unit may be configured such that the plurality of fingerprinting processes process queued response information in parallel, integrate the parallelly processed response information, The device information of the devices can be grasped. In this optional embodiment, the device information acquiring unit has been described with reference to FIG. 8 that device information of each device can be generated as a result file in the form of JSON (JavaScript Object Notation).

인터넷에 연결된 방대한 양의 사물인터넷 서비스 단말의 경우, CPU, 메모리 등의 성능상의 제한으로서 소프트웨어의 업데이트 및 관리에 한계가 있고, 제한적인 연산능력으로 인해서 보안 위협에 취약하다는 문제점이 있다. 사물인터넷 서비스 단말의 보안의 취약성을 발견하여 즉각적인 보안패치를 하기 위해서는, 인터넷에 연결되어 있는 단말의 정보가 빠른 주기로 수집, 관리되어야 한다. 본 발명에 따르면, 인터넷에 연결되어 있는 사물인터넷 장치들의 장치정보를 수많은 경량 스레드를 이용하여 수집처리하고, 별도의 병렬적인 프로세스를 통해서, 수집된 장치정보를 파악할 수 있게 되어, 인터넷상의 수많은 IoT 서비스 단말의 운영체제의 최신 업데이트 상태를 유지하도록 하는데에 도움을 주는 서비스를 제공할 수 있다.In the case of a large number of Internet service terminals connected to the Internet, there are limitations in the performance of software such as CPU and memory, and there is a problem in that software is vulnerable to security threats due to limited computing ability. In order to detect security weakness of Internet service terminal and make instant security patch, information of terminals connected to the Internet should be collected and managed at a fast cycle. According to the present invention, device information of object Internet devices connected to the Internet can be collected and processed by using a number of lightweight threads, and the collected device information can be grasped through a separate parallel process, It is possible to provide a service that helps maintain the latest update state of the operating system of the terminal.

이상 설명된 본 발명에 따른 실시 예는 컴퓨터상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.The embodiments of the present invention described above can be embodied in the form of a computer program that can be executed on various components on a computer, and the computer program can be recorded on a computer-readable medium. At this time, the medium may be a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, , A RAM, a flash memory, and the like, which are specifically configured to store and execute program instructions.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be designed and configured specifically for the present invention or may be known and used by those skilled in the computer software field. Examples of computer programs may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as " essential ", " importantly ", etc., it may not be a necessary component for application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms " above " and similar indication words in the specification of the present invention (particularly in the claims) may refer to both singular and plural. In addition, in the present invention, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (unless there is contradiction thereto), and each individual value constituting the above range is described in the detailed description of the invention The same. Finally, the steps may be performed in any suitable order, unless explicitly stated or contrary to the description of the steps constituting the method according to the invention. The present invention is not necessarily limited to the order of description of the above steps. The use of all examples or exemplary language (e.g., etc.) in this invention is for the purpose of describing the present invention only in detail and is not to be limited by the scope of the claims, It is not. It will also be appreciated by those skilled in the art that various modifications, combinations, and alterations may be made depending on design criteria and factors within the scope of the appended claims or equivalents thereof.

Claims (15)

패킷생성부가 복수의 IP(internet protocol)주소를 순열(circulation) 및 미리 설정된 소수(prime number)를 변수로 하는 수학식을 통해서 생성하고, 상기 생성된 복수의 IP주소로 패킷을 송신하는 패킷생성단계;
응답정보산출부가 상기 송신된 패킷에 대응되는 응답패킷을 수신하고, 상기 IP주소별로 수신된 응답패킷을 통합한 응답정보를 산출하는 응답정보산출단계;
분할처리부가 상기 산출된 응답정보를 미리 설정된 프로세스(process)의 수에 따라 분할하고, 상기 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드(thread)를 통해 분할처리하는 분할처리단계; 및
장치정보파악부가 상기 분할처리된 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리한 결과를 기초로 하여 상기 응답패킷을 송신한 각 장치들의 장치정보를 파악하는 장치정보파악단계를 포함하고,
상기 패킷생성단계는,
패킷생성부가 실행시킨 프로세스 내에 정의되어 있는 주소생성스레드(address generating thread)에 의해 IPv4에 따라 생성될 수 있는 IP주소 중 유효한 IP주소의 범위가 파악되면, 상기 주소생성스레드가 상기 파악된 범위의 유효한 주소 중에서 미리 설정된 개수 내로 IP 주소를 생성하고,
상기 미리 설정된 소수는,
IPv4에서 정의될 수 있는 전체 IP주소의 수와 가장 가까운 소수이고,
상기 송신된 패킷은,
상기 패킷생성부가 변경되지 않는 이더넷 헤더(ethernet header)의 체크섬(check sum)을 제거한 패킷이고,
상기 분할처리단계는,
상기 복수의 스레드가 상기 분할된 응답정보에 대해서 데이터 검색의 부하를 감소시키기 위한 인덱싱(indexing) 작업 및 데이터 파싱(parsing)의 부하를 감소시키기 위한 포맷변환 작업을 수행하는 방식을 통해 상기 분할된 응답정보를 처리하고,
상기 생성된 복수의 IP주소는, 다음과 같은 수학식을 통해 결정되고,
Figure 112018032740346-pat00026

상기 g는 상기 패킷생성부에 의해 결정된 상기 미리 설정된 소수보다 더 작은 수이고,
상기 p는 상기 미리 설정된 소수이고,
상기
Figure 112018032740346-pat00027
Figure 112018032740346-pat00028
는 각각 i번째 및 i+1번째 10진수로서, 상기 IP주소는 상기 i+1번째 10진수를 상기 IPv4에 따라 변환한 주소인 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
Wherein the packet generating unit generates a plurality of Internet protocol (IP) addresses through a formula using a circulation and a preset prime number as variables, and transmits a packet to the generated plurality of IP addresses ;
A response information calculation step in which a response packet corresponding to the transmitted packet is received by the response information calculation unit and response information obtained by combining response packets received for each IP address is calculated;
A division processing step of dividing the calculated response information according to the number of predetermined processes and dividing the divided response information through a plurality of threads included in each process; And
And a device information grasping step of grasping device information of each device that has transmitted the response packet based on a result of processing the divided response information through a plurality of fingerprinting processes,
The packet generation step includes:
When a valid IP address range of an IP address that can be generated according to IPv4 is recognized by an address generating thread defined in a process executed by the packet generation unit, An IP address is generated within a predetermined number of addresses,
The predetermined number of prime numbers,
It is the closest prime number to the total number of IP addresses that can be defined in IPv4,
The transmitted packet is transmitted,
Wherein the packet generator is a packet from which a check sum of an Ethernet header not modified is removed,
Wherein the dividing step comprises:
Wherein the plurality of threads perform an indexing operation for reducing a load of data retrieval with respect to the divided response information and a format conversion operation for reducing a load of data parsing, Processing information,
The generated plurality of IP addresses are determined through the following equation,
Figure 112018032740346-pat00026

G is a number smaller than the predetermined number of decimals determined by the packet generation unit,
Wherein p is the predetermined prime number,
remind
Figure 112018032740346-pat00027
And
Figure 112018032740346-pat00028
Is an i-th and (i + 1) -th decimal number, and the IP address is an address obtained by converting the i + 1-th decimal in accordance with the IPv4.
삭제delete 제1항에 있어서,
상기 응답정보산출단계는,
상기 수신된 응답패킷을 커널 영역을 통과시켜서 사용자단에서 처리하는 방식으로 상기 응답정보를 산출하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
The method according to claim 1,
The response information calculation step may include:
And the response information is calculated in such a manner that the received response packet is passed through a kernel area and processed by a user terminal.
제1항에 있어서,
상기 응답정보산출단계는
데이터 플레인 가속화(DPA: Data Plane Acceleration)를 통해 상기 응답정보를 산출하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
The method according to claim 1,
The response information calculation step
Wherein the response information is calculated through Data Plane Acceleration (DPA).
제1항에 있어서,
상기 분할처리단계는,
상기 분할된 응답정보의 크기가 서로 다르고,
상기 스레드가 분할처리하는 분할된 응답정보의 크기는 모두 동일한 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
The method according to claim 1,
Wherein the dividing step comprises:
The sizes of the divided response information are different from each other,
Wherein the size of the divided response information divided by the thread is all the same.
제1항에 있어서,
상기 장치정보파악단계는,
복수의 핑거프린팅 프로세스가 큐(queue)에 쌓인 상기 분할처리된 응답정보를 병렬적으로 처리하고, 상기 병렬적으로 처리된 응답정보를 통합하고, 상기 통합된 응답정보를 기초로 각 장치들의 장치정보를 파악하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
The method according to claim 1,
In the device information holding step,
A plurality of fingerprinting processes are performed in parallel on the divided response information stacked in a queue, the parallel processed response information is integrated, and the device information of each device based on the integrated response information The method comprising the steps of: acquiring device information using the Internet;
제1항에 있어서,
상기 송신된 패킷은 전송제어프로토콜(Transmission Control Protocol)의 SYN 패킷이고,
상기 응답정보산출단계는,
상기 SYN 패킷에 대한 응답패킷으로서 SYN-ACK 패킷을 수신하고, RST 플래그를 통해 상기 IP주소에 해당하는 장치와의 연결을 종료하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 방법.
The method according to claim 1,
The transmitted packet is a SYN packet of a transmission control protocol,
The response information calculation step may include:
Receiving a SYN-ACK packet as a response packet for the SYN packet, and terminating the connection with the device corresponding to the IP address through the RST flag.
제1항, 제3항 내지 제7항 중 어느 한 항에 따른 방법을 실행시키기 위한 프로그램을 기록하고 있는 컴퓨터 판독가능한 기록매체.A computer-readable recording medium storing a program for executing the method according to any one of claims 1 to 7. 순열(circulation) 및 미리 설정된 소수(prime number)를 변수로 하는 수학식을 통해서 복수의 IP(internet protocol)주소를 생성하고, 상기 생성된 복수의 IP주소로 패킷을 송신하는 패킷생성부;
상기 송신된 패킷에 대응되는 응답패킷을 수신하고, 상기 IP주소별로 수신된 응답패킷을 통합한 응답정보를 산출하는 응답정보산출부;
상기 산출된 응답정보를 미리 설정된 프로세스(process)의 수에 따라 분할하고, 상기 분할된 응답정보를 각 프로세스에 포함된 복수의 스레드(thread)를 통해 분할처리하는 분할처리부; 및
상기 분할처리된 응답정보를 복수의 핑거프린팅 프로세스를 통해서 처리한 결과를 기초로 하여 상기 응답패킷을 송신한 각 장치들의 장치정보를 파악하는 장치정보파악부를 포함하고,
상기 패킷생성부가 실행시킨 프로세스 내에 정의되어 있는 주소생성스레드(address generating thread)에 의해 IPv4에 따라 생성될 수 있는 IP주소 중 유효한 IP주소의 범위가 파악되면, 상기 주소생성스레드가 상기 파악된 범위의 유효한 주소 중에서 미리 설정된 개수 내로 IP 주소를 생성하고,
상기 미리 설정된 소수는,
IPv4에서 정의될 수 있는 전체 IP주소의 수와 가장 가까운 소수이고,
상기 송신된 패킷은,
상기 패킷생성부가 변경되지 않는 이더넷 헤더(ethernet header)의 체크섬(check sum)을 제거한 패킷이고,
상기 분할처리부는,
상기 복수의 스레드가 상기 분할된 응답정보에 대해서 데이터 검색의 부하를 감소시키기 위한 인덱싱(indexing) 작업 및 데이터 파싱(parsing)의 부하를 감소시키기 위한 포맷변환 작업을 수행하는 방식을 통해 상기 분할된 응답정보를 처리하고,
상기 생성된 복수의 IP주소는, 다음과 같은 수학식을 통해 결정되고,
Figure 112018032740346-pat00029

상기 g는 상기 패킷생성부에 의해 결정된 상기 미리 설정된 소수보다 더 작은 수이고,
상기 p는 상기 미리 설정된 소수이고,
상기
Figure 112018032740346-pat00030
Figure 112018032740346-pat00031
는 각각 i번째 및 i+1번째 10진수로서, 상기 IP주소는 상기 i+1번째 10진수를 상기 IPv4에 따라 변환한 주소인 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
A packet generating unit for generating a plurality of internet protocol (IP) addresses through a mathematical expression using a circulation and a predetermined prime number as parameters, and transmitting the packets to the generated plurality of IP addresses;
A response information calculation unit for receiving a response packet corresponding to the transmitted packet and calculating response information combining response packets received for each IP address;
A division processing unit for dividing the calculated response information according to the number of predetermined processes and dividing the divided response information through a plurality of threads included in each process; And
And a device information acquisition unit for acquiring device information of each device that has transmitted the response packet based on a result of processing the divided response information through a plurality of fingerprinting processes,
When a valid IP address range of an IP address that can be generated according to IPv4 is recognized by an address generating thread defined in a process executed by the packet generation unit, Generates an IP address within a predetermined number of valid addresses,
The predetermined number of prime numbers,
It is the closest prime number to the total number of IP addresses that can be defined in IPv4,
The transmitted packet is transmitted,
Wherein the packet generator is a packet from which a check sum of an Ethernet header not modified is removed,
The division processing unit,
Wherein the plurality of threads perform an indexing operation for reducing a load of data retrieval with respect to the divided response information and a format conversion operation for reducing a load of data parsing, Processing information,
The generated plurality of IP addresses are determined through the following equation,
Figure 112018032740346-pat00029

G is a number smaller than the predetermined number of decimals determined by the packet generation unit,
Wherein p is the predetermined prime number,
remind
Figure 112018032740346-pat00030
And
Figure 112018032740346-pat00031
Is an i-th and (i + 1) -th decimal number, and the IP address is an address obtained by converting the (i + 1) -th decimal in accordance with the IPv4.
삭제delete 제9항에 있어서,
상기 응답정보산출부는,
상기 수신된 응답패킷을 커널 영역을 통과시켜서 사용자단에서 처리하는 방식으로 상기 응답정보를 산출하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
10. The method of claim 9,
Wherein the response information calculation unit comprises:
Wherein the response information is calculated in a manner that the received response packet is passed through a kernel area and processed by a user terminal.
제9항에 있어서,
상기 응답정보산출부는
데이터 플레인 가속화(DPA: Data Plane Acceleration)를 통해 상기 응답정보를 산출하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
10. The method of claim 9,
The response information calculation unit
Wherein the response information is calculated through Data Plane Acceleration (DPA).
제9항에 있어서,
상기 분할처리부는,
상기 분할된 응답정보의 크기가 서로 다르고,
상기 스레드가 분할처리하는 분할된 응답정보의 크기는 모두 동일한 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
10. The method of claim 9,
The division processing unit,
The sizes of the divided response information are different from each other,
Wherein the size of the divided response information divided by the thread is all the same.
제9항에 있어서,
상기 장치정보파악부는,
복수의 핑거프린팅 프로세스가 큐(queue)에 쌓인 상기 분할처리된 응답정보를 병렬적으로 처리하고, 상기 병렬적으로 처리된 응답정보를 통합하고, 상기 통합된 응답정보를 기초로 각 장치들의 장치정보를 파악하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
10. The method of claim 9,
Wherein the device-
A plurality of fingerprinting processes are performed in parallel on the divided response information stacked in a queue, the parallel processed response information is integrated, and the device information of each device based on the integrated response information And collecting device information using the Internet.
제9항에 있어서,
상기 송신된 패킷은 전송제어프로토콜(TCP: Transmission Control Protocol)의 SYN 패킷이고,
상기 응답정보산출부는,
상기 SYN 패킷에 대한 응답패킷인 SYN-ACK 패킷을 수신하고, RST 플래그를 통해 상기 IP주소에 해당하는 장치와의 연결을 종료하는 것을 특징으로 하는 인터넷을 이용하여 장치정보를 수집하는 시스템.
10. The method of claim 9,
The transmitted packet is a SYN packet of a Transmission Control Protocol (TCP)
Wherein the response information calculation unit comprises:
Receiving a SYN-ACK packet, which is a response packet for the SYN packet, and terminating the connection with the device corresponding to the IP address through the RST flag.
KR1020170148318A 2017-11-08 2017-11-08 System for collecting device information using internet and method thereof KR101880705B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170148318A KR101880705B1 (en) 2017-11-08 2017-11-08 System for collecting device information using internet and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170148318A KR101880705B1 (en) 2017-11-08 2017-11-08 System for collecting device information using internet and method thereof

Publications (1)

Publication Number Publication Date
KR101880705B1 true KR101880705B1 (en) 2018-07-20

Family

ID=63103382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170148318A KR101880705B1 (en) 2017-11-08 2017-11-08 System for collecting device information using internet and method thereof

Country Status (1)

Country Link
KR (1) KR101880705B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102143593B1 (en) 2019-10-18 2020-08-11 주식회사 모비젠 Method for detecting anomaly of Internet of Things device based on autoencoder and system thereof
KR102370661B1 (en) 2021-07-02 2022-03-07 주식회사 모비젠 Method of detecting abnormal traffic of IoT devices deployed in each household and system thereof
CN116800618A (en) * 2023-08-24 2023-09-22 明阳时创(北京)科技有限公司 Network IP portrait construction method, system, medium and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374721B1 (en) * 2012-12-27 2014-03-19 전자부품연구원 Apparatus and method for data collection
US20140078913A1 (en) * 2012-09-20 2014-03-20 Hewlett-Packard Development Company, L.P. Data packet stream fingerprint
KR101767454B1 (en) 2015-11-12 2017-08-14 주식회사 엔젠소프트 Method and apparatus of fraud detection for analyzing behavior pattern

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140078913A1 (en) * 2012-09-20 2014-03-20 Hewlett-Packard Development Company, L.P. Data packet stream fingerprint
KR101374721B1 (en) * 2012-12-27 2014-03-19 전자부품연구원 Apparatus and method for data collection
KR101767454B1 (en) 2015-11-12 2017-08-14 주식회사 엔젠소프트 Method and apparatus of fraud detection for analyzing behavior pattern

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Electronics and Telecommunications Trends. Vol. 30, No. 2, April 2015, pp. 87-94, 최강일 선임연구원 외 1인 저술(14-000-05-001, 스마트 네트워킹 핵심 기술개발).

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102143593B1 (en) 2019-10-18 2020-08-11 주식회사 모비젠 Method for detecting anomaly of Internet of Things device based on autoencoder and system thereof
KR102370661B1 (en) 2021-07-02 2022-03-07 주식회사 모비젠 Method of detecting abnormal traffic of IoT devices deployed in each household and system thereof
CN116800618A (en) * 2023-08-24 2023-09-22 明阳时创(北京)科技有限公司 Network IP portrait construction method, system, medium and equipment
CN116800618B (en) * 2023-08-24 2023-10-20 明阳时创(北京)科技有限公司 Network IP portrait construction method, system, medium and equipment

Similar Documents

Publication Publication Date Title
US9906630B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
US8681819B2 (en) Programmable multifield parser packet
EP3338396B1 (en) Device and method for establishing connection in load-balancing system
US9473380B1 (en) Automatic parsing of binary-based application protocols using network traffic
US10630758B2 (en) Method and system for fulfilling server push directives on an edge proxy
KR101880705B1 (en) System for collecting device information using internet and method thereof
US20060112422A1 (en) Data transfer using hyper-text transfer protocol (HTTP) query strings
WO2023005773A1 (en) Message forwarding method and apparatus based on remote direct data storage, and network card and device
EP2768200B1 (en) Receiving data packets
CN108833450B (en) Method and device for preventing server from being attacked
CN110581812A (en) Data message processing method and device
US10178033B2 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
EP2916516A1 (en) Packet processing method and apparatus
EP3032783A1 (en) Fragmented packet processing resource determination
CN108011850B (en) Data packet reassembly method and apparatus, computer device, and readable medium
CN112910793B (en) Method for connection multiplexing in seven-layer load balancing and load balancer
CN113810337A (en) Method, device and storage medium for network message duplicate removal
CN106209680B (en) Information processing apparatus and information processing method
CN110990897A (en) File fingerprint generation method and device
CN108595574B (en) Database cluster connection method, device, equipment and storage medium
CN110545230A (en) method and device for forwarding VXLAN message
Danelutto et al. Deep packet inspection on commodity hardware using fastflow
CN103746768A (en) Data packet identification method and equipment thereof
EP3408989B1 (en) Detecting malware on spdy connections
US20210306357A1 (en) Sorting device, communication system, and sorting method

Legal Events

Date Code Title Description
N231 Notification of change of applicant
GRNT Written decision to grant