KR101852506B1 - Apparatus and method for identifying terminal information - Google Patents

Apparatus and method for identifying terminal information Download PDF

Info

Publication number
KR101852506B1
KR101852506B1 KR1020160103108A KR20160103108A KR101852506B1 KR 101852506 B1 KR101852506 B1 KR 101852506B1 KR 1020160103108 A KR1020160103108 A KR 1020160103108A KR 20160103108 A KR20160103108 A KR 20160103108A KR 101852506 B1 KR101852506 B1 KR 101852506B1
Authority
KR
South Korea
Prior art keywords
terminal
packet
identification unit
header
operating system
Prior art date
Application number
KR1020160103108A
Other languages
Korean (ko)
Other versions
KR20180018128A (en
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 KR1020160103108A priority Critical patent/KR101852506B1/en
Publication of KR20180018128A publication Critical patent/KR20180018128A/en
Application granted granted Critical
Publication of KR101852506B1 publication Critical patent/KR101852506B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 단말 정보 식별 시스템 및 그 방법에 관한 것으로, 본 발명에 따르면 패킷 수집부가 단말로부터 전송된 IP 패킷을 수집하고, 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷에 포함된 운영 체제 정보와 유지 시간 그리고 윈도우 스케일 인자를 이용하여 단말 종류를 식별하고, 주소 변환 식별부가 유지 시간의 감소 여부를 확인하여 네트워크 주소 변환 장치의 사용 여부를 식별할 수 있도록 하여 패킷 분석을 통하여 단말의 종류와 네트워크 주소 변환 장치의 경유 여부와 같은 단말 정보를 식별할 수 있어 기존의 선형성을 보는 방식에 비해 복잡도가 낮기 때문에 쉽게 구현이 가능하고, 단말과 주소 변환 식별 시스템의 실행 오버헤드도 줄일 수 있다.
또한, 본 발명은 단순히 네트워크 주소 변환 장치의 사용 여부만을 식별하는 것이 아니라, 단말의 종류를 식별함으로 추후 단말 별로 서비스를 제공하기 위한 기초 자료로도 활용할 수 있다.
According to the present invention, a packet collector collects IP packets transmitted from a terminal, and the terminal identification unit maintains and maintains operating system information included in IP packets collected by the packet collector, Time, and window scale factor, and the address translation identification unit identifies whether the retention time is reduced by identifying whether the network address translation apparatus is used or not, and analyzes the type of the terminal and the network address translation It can be easily implemented because the terminal information such as the passing state of the device can be identified and the complexity is lower than that of the conventional method of viewing the linearity and the execution overhead of the terminal and the address conversion identification system can be reduced.
In addition, the present invention can be utilized not only as to whether or not to use the network address translation apparatus, but also as a basic data for providing service for each terminal by identifying the terminal type.

Description

단말 정보 식별 시스템 및 그 방법{APPARATUS AND METHOD FOR IDENTIFYING TERMINAL INFORMATION}[0001] APPARATUS AND METHOD FOR IDENTIFYING TERMINAL INFORMATION [0002]

본 발명은 단말 정보 식별 시스템 및 그 방법에 관한 것으로, 특히 본 발명은 패킷 분석을 통하여 단말의 종류와 네트워크 주소 변환 장치의 경유 여부와 같은 단말 정보를 식별할 수 있도록 한 단말 정보 식별 시스템 및 그 방법에 관한 것이다.The present invention relates to a terminal information identification system and a method thereof, and more particularly, to a terminal information identification system and a terminal information identification system for identifying terminal information such as a type of terminal and a network address translation device via packet analysis .

네트워크 주소 변환 장치(NAT: Network Address Translation)는 다수의 단말들이 하나의 회선을 공유하도록 하는 기능을 제공한다. Network Address Translation (NAT) provides a function for allowing a plurality of terminals to share a single line.

이를 통해, 적은 수의 공인 IP로 다수의 단말을 연결하여 IPv4의 주소 고갈 문제를 일부분 해소해 준다. Through this, a number of terminals can be connected with a small number of public IPs to partially solve IPv4 address exhaustion problem.

또한, 네트워크 주소 변환 장치는 단말이 보내는 패킷의 소스IP를 공인 IP로 변경하여 외부로 전송하기 때문에 외부에서 단말의 주소를 알 수 없다. In addition, since the network address translation device changes the source IP of the packet sent from the terminal to the public IP and transmits it to the outside, the address of the terminal can not be known from the outside.

이는 외부의 허가되지 않은 접근으로부터 내부의 단말들을 보호하는 장점을 제공한다.This provides the advantage of protecting internal terminals from unauthorized external access.

최근에는 스마트 폰, 패드 등의 모바일 장비의 보급이 대중화되면서 많은 수의 단말을 제한된 회선에 연결할 수 있는 네트워크 주소 변환 장치의 사용도 증가하고 있다. In recent years, as the spread of mobile devices such as smart phones and pads has become popular, the use of network address translation devices capable of connecting a large number of terminals to limited lines is also increasing.

또한, 유-헬스(u-health), connected car, IPTV, 홈 네트워크(home network)와 같은 사물 인터넷 장치(IoT:Internet of things)의 증가로 인해 네트워크 주소 변환 장치의 이용빈도가 급격히 증가하고 있다.In addition, due to the increase of Internet of things (ioT) such as u-health, connected car, IPTV and home network, the frequency of use of network address translation devices is rapidly increasing .

하지만, 이러한 네트워크 주소 변환 장치의 사용 증가는 회선에 대한 트래픽 증가로 이어져 다른 여러 사용자들의 네트워크 품질을 떨어뜨리거나 네트워크 이용을 방해할 수 있다. However, the increased use of such network address translation devices may lead to increased traffic to the line, which may degrade network quality of other users or interfere with network utilization.

이러한 성능 및 품질 저하를 막기 위해 네트워크 설비에 대한 투자가 증가하게 되어 불필요한 경제적 손실을 가져온다. Increasing investment in network equipment to prevent such performance and quality degradation leads to unnecessary economic losses.

또한, 일부 악의적인 이용자에 의한 바이러스 배포, DDoS 공격 등의 공격으로 전체 회선을 마비시킬 수 있다. In addition, some malicious users may be able to paralyze the entire circuit by attacks such as virus distribution and DDoS attack.

게다가, 네트워크 주소 변환 장치는 외부에서 단말의 정보를 식별하기 어렵기 때문에, 공격자가 다른 일반 사용자인 것처럼 위장하여 다른 사람의 정보를 가로채거나 잘못된 정보를 전달하는 등의 공격이 가능해진다. In addition, since the network address translation device is difficult to identify the information of the terminal from the outside, it is possible to attack such that an attacker masquerades as another ordinary user and intercepts information of another person or transmits wrong information.

따라서, 이러한 네트워크 주소 변환 장치의 문제점들을 해결하기 위해, 네트워크 주소 변환 장치를 사용하는 단말에 대한 식별이 필요하다.Therefore, in order to solve the problems of the network address translation apparatus, it is necessary to identify the terminal using the network address translation apparatus.

이와 관련하여 종래의 네트워크 주소 변환 장치의 경우 여부를 검출하는 방법에는 단말에 식별자를 삽입하여 단말의 정보를 얻는 방법과 수신된 패킷의 분석을 이용하는 방법이 있다. In this regard, a conventional method for detecting whether or not a network address translation apparatus is available includes a method of obtaining information of a terminal by inserting an identifier into the terminal and a method of using the analysis of the received packet.

식별자를 삽입하는 방법은 스크립트(script)나 애플릿(applet)과 같은 프레임(frame)을 수신 패킷의 응답에 실어 보내는 방법이다. A method of inserting an identifier is a method of sending a frame such as a script or an applet to a response of a received packet.

이 방법은 단말에게 전송하여 단말의 브라우저가 해당 프레임의 실행하고 그 결과로 단말의 정보를 가져온다. 이를 통해 단말의 사설 IP 사용 여부를 판단하여 네트워크 주소 변환 장치의 경유 여부를 검출한다. This method is transmitted to the terminal, the browser of the terminal executes the frame, and as a result, the terminal information is fetched. Through this, it is determined whether or not the terminal uses the private IP, and the network address translation device is detected.

이 방식은 단말에게 직접 네트워크 주소 변환 장치의 사용 여부를 문의하기 때문에 검출 정확도를 크게 높일 수 있는 반면, 단말의 브라우저에서 프레임이나 코드의 삽입 또는 실행이 허용된 경우에만 실행할 수 있는 단점이 있다.This method has the disadvantage that it can be executed only when insertion or execution of a frame or code is allowed in the browser of the terminal, while it can greatly increase the detection accuracy because it inquires the terminal whether to use the network address translation device directly.

반면, 수신 패킷의 분석은 단말에서 송신된 패킷의 특성을 분석하여 단말을 식별하는 것으로 단말에 대한 수정이나 프로그램 삽입이 없기 때문에 단말의 특성과 관계없이 동작하는 방법이다. On the other hand, the analysis of the received packet identifies the terminal by analyzing the characteristics of the packet transmitted from the terminal, and is a method that operates regardless of the characteristics of the terminal because there is no modification or insertion of the terminal.

이러한 수신 패킷 분석 방법에는 IP 헤더의 ID (identification) 필드 값의 선형적 증가를 이용한 방법과 TCP 헤더의 소스 포트의 선형적 증가 특성을 이용한 방법, 타임 스탬프(timestamp) 값이 선형성을 이용한 방법이 대표적이다. The received packet analysis method includes a method using a linear increase in the ID (identification) field value of the IP header, a method using the linear increase property of the source port of the TCP header, and a method using the linearity of the timestamp value to be.

이러한 방식은 단말에서 보내진 패킷을 분석하기 때문에 단말에 대한 명령이나 코드 삽입없이 동작할 수 있는 장점이 있다. This method is advantageous in that it can operate without inserting commands or codes into the terminal because it analyzes the packets sent from the terminal.

하지만, 각 값의 선형성 분석을 위한 복잡한 알고리즘이 필요하고, 최근 각 필드의 특성이 변화하면서 알고리즘 역시 복잡도가 증가하고 있다. However, a complicated algorithm for linearity analysis of each value is needed, and the complexity of the algorithm is also increasing as the characteristics of each field are changed recently.

특히, 도 1과 같이, ID는 최근 공격자의 패킷 위장을 막기 위해 초기값을 임의의 숫자로 설정하여 TCP 세션 내에서만 선형성이 유지되고, 서로 다른 세션 사이에는 한 단말이어도 여러 단말처럼 보인다. In particular, as shown in FIG. 1, the ID is set to an arbitrary number in order to prevent the attacker's packet from being spoofed, so that the linearity is maintained only within the TCP session.

또한, 도 2와 같이, 소스포트는 네트워크 주소 변환 장치의 포트포워딩 기능으로 인한 소스포트 번호 변경이 검출을 방해하고, 타임 스탬프는 운영체제의 타입에 따라 비활성화되어 있는 경우가 있다.Also, as shown in FIG. 2, the source port may interfere with detection of source port number change due to the port forwarding function of the network address translation device, and the time stamp may be inactivated depending on the type of the operating system.

한편, 유저 에이젠트(user-agent)를 이용해 단말의 운영체제(OS)와 브라우저 버전 정보 등의 확인을 통해 단말과 단말을 분리 식별하는 기술로 선행기술 1(일본특개2016-40863호)이 있다.On the other hand, Prior Art 1 (Japanese Patent Laid-Open Publication No. 2016-40863) is a technology for separately identifying a terminal and a terminal by confirming an operating system (OS) and browser version information of the terminal using a user agent.

하지만, 선행기술 1은 단말이 어떤 타입 (모바일, PC 등의 구분)인지는 중요하지 않으며, 더욱이 사용되는 유저 에이젠트(user-agent) 필드는 HTTP 프로토콜에서만 사용되기 때문에 브라우저를 사용하지 않는 서버나 IoT 단말들은 식별할 수 없는 단점이 존재한다.However, it does not matter what kind of terminal (classification of mobile, PC, etc.) is used in the prior art 1. Further, since the user agent field to be used is only used in the HTTP protocol, There is a disadvantage that the IoT terminals can not be identified.

다음으로, 유저 에이젠트(user-agent)를 이용하여 단말의 모델명과 통신사 등의 정보를 획득하여 광고 서비스에 활용하는 선행기술2(국내등록번호 10-1532877호)가 있다, Next, there is Prior Art 2 (Domestic Registration No. 10-1532877) in which information such as a model name and a communication company of a terminal is acquired using a user agent and used for an advertisement service,

이와 같은 선행기술2는 스마트 폰과 같이, 통신용 칩을 부착한 단말에 한해 모델명과 통신사 정보를 포함되기 때문에, 대상이 한정적이다.Prior art 2 such as the smart phone includes a model name and a communication company information only for a terminal to which a communication chip is attached, and thus the object is limited.

또한, 선행기술2는 반드시 단말의 모델명 및 가입 통신사 정보 중 하나를 획득해야 한다고 기술되어 있으며, OS 버전 확인하는 부분이 있으나, iphone으로만 한정되어 있다.In the prior art 2, it is described that one of the model name of the terminal and the affiliated communication company information should be obtained, and there is a part to check the OS version, but it is limited to the iphone.

그리고, 선행기술 2 또한 유저 에이젠트(user-agent)가 HTTP 프로토콜에서만 사용되기 때문에 브라우저를 사용하지 않는 IoT 단말들은 식별 불가하다는 문제점이 있다.In addition, since the user agent is used only in the HTTP protocol, there is a problem that the IoT terminals that do not use the browser can not be identified.

다음으로, 단말 식별을 위해 각 OS의 상이한 TTL 값을 활용하는 선행기술3(국내공개번호 10-2016-0058300호)이 있다.Next, there is Prior Art 3 (Korean National Publication No. 10-2016-0058300) which utilizes different TTL values of each OS for terminal identification.

이와 같은 선행기술 3은 단말 식별의 용도로만 TTL을 활용하고 있어 그 활용 방법이 제한적이며, 공유기 사용 여부를 식별하고 있지 않다.The prior art 3 uses the TTL only for the terminal identification purpose, and the utilization method is limited, and the use of the router is not identified.

다음으로, 공유기 통과 여부를 판단하기 위해 TTL 값의 변화를 활용하는 선행기술4(국내등록번호10-1480438호)가 있다.Next, there is Prior Art 4 (Domestic Registration No. 10-1480438) which utilizes a change in the TTL value to determine whether or not the router has passed.

선행기술4는 공유기와 연결된 단말인지만 추정 가능하며, 공유기에 연결된 단말의 타입을 확인할 수 없다는 단점이 존재한다.The prior art 4 has a disadvantage in that it can only be estimated whether the terminal is connected to the router, and the type of the terminal connected to the router can not be confirmed.

일본특개2016-40863호Japanese Patent Laid-Open No. 2016-40863 국내등록번호 10-1532877호Domestic Registration No. 10-1532877 국내공개번호 10-2016-0058300호Korean Publication No. 10-2016-0058300 국내등록번호10-1480438호Domestic Registration No. 10-1480438

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 패킷 분석을 통하여 단말의 종류와 네트워크 주소 변환 장치의 경유 여부와 같은 단말 정보를 식별할 수 있도록 한 단말 정보 식별 시스템 및 그 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a terminal information identification system and method for identifying terminal information such as a type of terminal and a network address translation device via packet analysis .

본 발명의 일 측면은 단말로부터 전송된 IP 패킷을 수집하는 패킷 수집부; 및 상기 패킷 수집부가 수집한 IP 패킷에 포함된 운영 체제 정보와 유지 시간을 이용하여 단말 종류를 식별하는 단말 식별부를 포함한다.According to an aspect of the present invention, there is provided an IP packet transmission system including: a packet collector for collecting IP packets transmitted from a terminal; And a terminal identification unit for identifying the terminal type using the operating system information and the holding time included in the IP packet collected by the packet collector.

또한, 본 발명의 일 측면의 상기 단말 식별부는 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드의 운영 체제 정보가 컴퓨터용 운영 체제이면 컴퓨터 단말로 식별하고 모바일용 운영 체제이면 모바일 단말로 식별한다.In addition, the terminal identification unit according to an aspect of the present invention identifies the operating system information of the user agent field as a computer terminal if the IP packet is an HTTP packet, and identifies the mobile terminal as a mobile terminal if the IP packet is an HTTP packet.

또한, 본 발명의 일 측면의 상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별한다.In addition, the terminal identification unit according to an aspect of the present invention identifies the IP header as a Windows-based computer terminal if the IP header is not an HTTP packet and the IP header is maintained longer than the first retention time reference value.

또한, 본 발명의 일 측면의 상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 IP 패킷의 TCP 헤더에 포함된 윈도우 스케일 인자를 이용하여 단말 종류를 식별한다.If the IP header is not equal to or smaller than the first retention time reference value in the case where the IP packet is not an HTTP packet, the terminal identification unit may use a window scale factor included in the TCP header of the IP packet Thereby identifying the terminal type.

또한, 본 발명의 일 측면의 상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크면 리눅스 기반의 컴퓨터 단말로 식별하고, 제1 윈도우 스케일 기준값보다 크지 않으면 모바일 단말로 식별한다.The terminal identification unit of the present invention identifies a Linux-based computer terminal if the window scale factor is greater than the first window scale reference value, and identifies the mobile terminal if the window scale factor is not greater than the first window scale reference value.

또한, 본 발명의 일 측면의 상기 단말 식별부는 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드에서 필드값을 추출하는 사용자 에이젠트 추출기; IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더에서 유지 시간을 추출하는 유지 시간 추출기; 및 사용자 에이젠트 추출기가 추출한 사용자 에이젠트 필드의 필드값에 따른 운영 체제와 유지 시간 추출기가 추출한 유지 시간을 이용하여 단말 종류를 식별하는 단말 식별기를 포함한다.In addition, the terminal identification unit according to an aspect of the present invention includes: a user agent extractor for extracting a field value from a user agent field when an IP packet is an HTTP packet; A retention time extractor for extracting retention time from the IP header when the IP packet is not an HTTP packet; And a terminal identifier that identifies the terminal type using the operating system according to the field value of the user agent field extracted by the user agent extractor and the retention time extracted by the retention time extractor.

또한, 본 발명의 일 측면의 상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 TCP 헤더에 포함된 윈도우 스케일 인자를 추출하는 윈도우 스케일 추출기를 더 포함하며, 상기 단말 식별기는 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하고, 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 윈도우 스케일 인자를 이용하여 단말 종류를 식별한다.The terminal identifier may further include a window scale extractor for extracting a window scale factor included in a TCP header when the IP packet is not an HTTP packet, Based computer terminal if it is larger than the time reference value, and if the hold time is equal to or smaller than the first hold time reference value, the terminal type is identified using the window scale factor.

또한, 본 발명의 일 측면은 상기 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 주소 변환 식별부를 더 포함한다.According to another aspect of the present invention, there is further provided an address conversion identification unit for determining whether to use the network address translation apparatus by reducing the maintenance period of the IP packet collected by the packet collector.

또한, 본 발명의 일 측면의 상기 주소 변환 식별부는 상기 단말 식별부로부터 단말 종류를 수신하는 단말 종류 수신기; 및 상기 단말 종류 수신기에 수신한 단말 종류가 윈도우 기반 컴퓨터 단말인 경우에 제1 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하고, 단말 종류가 리눅스 기반 컴퓨터 단말과 모바일 단말인 경우에 제2 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하는 주소 변환 식별기를 포함한다.In another aspect of the present invention, the address translation identification unit includes: a terminal type receiver for receiving a terminal type from the terminal identification unit; And if the terminal type received by the terminal type receiver is a window-based computer terminal, the use of the network address translation device is determined to be use if the IP header of the IP packet has a shorter maintenance period than a value obtained by subtracting 1 from the first sustain period reference value, When the terminal type is a Linux-based computer terminal and a mobile terminal, it is determined that the use of the network address translation device is used if the IP header of the IP packet has a shorter maintenance period than a value obtained by subtracting 1 from the second sustain period reference value .

한편, 본 발명의 다른 측면은 단말로부터 전송된 IP 패킷을 수집하는 패킷 수집부; 및 상기 패킷 수집부가 수집한 IP 패킷에 포함된 유지 시간과 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단말 식별부를 포함한다.According to another aspect of the present invention, there is provided a mobile communication system including a packet collector for collecting IP packets transmitted from a terminal; And a terminal identification unit for identifying the terminal type using the retention time and the window scale factor included in the IP packet collected by the packet collector.

또한, 본 발명의 다른 측면의 상기 단말 식별부는 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하고, IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 IP 패킷의 TCP 헤더에 포함된 윈도우 스케일 인자를 이용하여 단말 종류를 식별한다.In another aspect of the present invention, the terminal identification unit identifies the IP header of the IP packet as a window-based computer terminal if the IP header has a retention time greater than the first retention time reference value, The terminal type is identified by using the window scale factor included in the TCP header of the IP packet.

또한, 본 발명의 다른 측면은 상기 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 주소 변환 식별부를 더 포함한다.According to another aspect of the present invention, there is further provided an address conversion identification unit for determining whether to use the network address translation apparatus by reducing the maintenance period of the IP packet collected by the packet collection unit.

한편, 본 발명의 또 다른 측면은 (A) 패킷 수집부가 IP 패킷을 수집하는 단계; (B) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷인 경우에 운영 체제 정보를 이용하여 단말 종류를 식별하는 단계; 및 (C) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷이 아닌 경우에 유지 시간을 이용하여 단말 종류를 식별하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of transmitting a packet, the method comprising: (A) collecting an IP packet by a packet collector; (B) identifying a terminal type using an operating system information when an IP packet collected by the packet collector is an HTTP packet; And (C) if the IP packet collected by the packet collecting unit is not an HTTP packet, the terminal identifying unit identifies the terminal type using the holding time.

또한, 본 발명의 또 다른 측면의 상기 (B) 단계는 (B-1) 상기 단말 식별부는 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드의 필드값을 추출하는 단계; (B-2) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 윈도우 기반 컴퓨터용 운영 체제이면 윈도우 기반 컴퓨터 단말로 식별하는 단계; (B-3) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 리눅스 기반 컴퓨터용 운영 체제이면 리눅스 기반 컴퓨터 단말로 식별하는 단계; 및 (B-4) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 모바일용 운영 체제이면 모바일 단말로 식별하는 단계를 포함한다.In addition, the step (B) of the still further aspect of the present invention may further comprise: (B-1) extracting a field value of the user agent field when the IP packet is an HTTP packet; (B-2) if the operating system information of the extracted user agent field is an operating system for a window-based computer, the terminal identifying unit identifies the operating system information as a window-based computer terminal; (B-3) The terminal identification unit identifies a Linux-based computer terminal if the operating system information of the extracted user agent field is an operating system for a Linux-based computer; And (B-4) the terminal identification unit identifies the operating system information of the extracted user agent field as a mobile terminal if the operating system is a mobile operating system.

또한, 본 발명의 또 다른 측면의 상기 (C) 단계는 상기 단말 식별부가 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별한다.In the step (C) of the still further aspect of the present invention, the terminal identification unit identifies the IP packet as a window-based computer terminal if the IP header of the IP packet has a retention time greater than a first retention time reference value.

또한, 본 발명의 또 다른 측면은 (D) 상기 단말 식별부는 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단계를 더 포함한다.In another aspect of the present invention, (D) the terminal identification unit further includes a step of identifying a terminal type using a window scale factor if the IP header of the IP packet has a retention time that is equal to or smaller than a first retention time reference value do.

또한, 본 발명의 또 다른 측면의 상기 (D) 단계는 (D-1) 상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크면 리눅스 기반의 컴퓨터 단말로 식별하는 단계; 및 (D-2) 상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크지 않으면 모바일 단말로 식별하는 단계를 포함한다.According to still another aspect of the present invention, in the step (D), the terminal identification unit identifies the terminal as a Linux-based computer terminal if the window scale factor is larger than the first window scale reference value. And (D-2) the terminal identification unit identifies the mobile terminal if the window scale factor is not greater than the first window scale reference value.

또한, 본 발명의 또 다른 측면은 (E) 주소 변환 식별부가 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 단계를 더 포함한다.According to still another aspect of the present invention, (E) the method further includes determining whether the network address translation apparatus is used by reducing the maintenance period of the IP packet collected by the address translation identification unit.

한편, 본 발명의 또 다른 측면은 (A) 패킷 수집부가 단말로부터 전송된 IP 패킷을 수집하는 단계; 및 (B) 상기 패킷 수집부가 수집한 IP 패킷에 포함된 유지 시간과 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of transmitting a packet, the method comprising: (A) collecting IP packets transmitted from a terminal; And (B) identifying the terminal type using the retention time and the window scale factor included in the IP packet collected by the packet collector.

또한, 본 발명의 또 다른 측면의 상기 (B) 단계는 (B-1) 상기 단말 식별부는 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하는 단계; 및 (B-2) 상기 단말 식별부가 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 IP 패킷의 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단계를 포함한다.According to another aspect of the present invention, in the step (B), the terminal identification unit identifies the IP packet as a window-based computer terminal if the IP header holding time is greater than a first holding time reference value; And (B-2) identifying the terminal type by using the window scale factor of the IP packet if the terminal identification part is configured to hold the IP header of the terminal with the same or less than the first holding time reference value.

또한, 본 발명의 또 다른 측면은 (C) 주소 변환 식별부가 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 단계를 더 포함한다.Still another aspect of the present invention further includes (C) determining whether the network address translation apparatus is used by decreasing the maintenance period of the IP packet collected by the address translation identification unit.

본 발명에 따르면, 일반적인 패킷에 포함된 유지 기간(TTL:Time To Live), 윈도우 스케일 인자(WSCALE: Window SCALing factor), 사용자 에이젠트(user-agent) 값의 복합적인 비교를 통해서 단말의 종류를 식별하고, 해당 단말이 네트워크 주소 변환 장치를 사용하지는 여부까지 식별한다. 이는 기존의 선형성을 보는 방식에 비해 복잡도가 낮기 때문에 쉽게 구현이 가능하고, 단말과 주소 변환 식별 시스템의 실행 오버헤드도 줄일 수 있다. According to the present invention, a type of a terminal can be determined through a complex comparison of a TTL (Time To Live), a WSCALE (Window Scaling Factor), and a user agent And identifies whether or not the corresponding terminal uses the network address translation device. This can be easily implemented because the complexity is low compared with the existing linearity method, and the execution overhead of the terminal and address translation identification system can be reduced.

또한, 본 발명은 단순히 네트워크 주소 변환 장치의 사용 여부만을 식별하는 것이 아니라, 단말의 종류를 식별함으로 추후 단말 별로 서비스를 제공하기 위한 기초 자료로도 활용할 수 있다. In addition, the present invention can be utilized not only as to whether or not to use the network address translation apparatus, but also as a basic data for providing service for each terminal by identifying the terminal type.

도 1은 종래 기술에 따른 Windows 10에서의 무작위 ID 분포를 보여주는 도면이다.
도 2는 종래 기술에 따른 소스 포트의 중첩 분포를 보여주는 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 시스템을 포함한 네트워크 구성도이다.
도 4(a) 및 도 4(b)는 컴퓨터에서 사용되는 운영 체제 종류를 사용자 에이젠트 필드 내에 기록한 예시도이다.
도 5(a) 및 도 5(b)는 모바일에서 사용되는 운영 체제 종류를 사용자 에이젠트 필드에 기록한 예시도이다.
도 6은 IP 헤더의 구조를 보여주는 도면이다.
도 7은 TCP 헤더의 구조를 보여주는 도면이다.
도 8은 TCP 헤더의 옵션에 포함되는 필드를 보여주는 도면이다
도 9는 도 3의 단말과 주소 변환 식별 장치의 상세 구성도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 방법의 흐름도이다.
1 is a diagram showing a random ID distribution in Windows 10 according to the prior art.
2 is a view showing an overlap distribution of a source port according to the prior art.
3 is a network configuration diagram including a terminal information identification system according to a preferred embodiment of the present invention.
4 (a) and 4 (b) are views illustrating an operating system type used in a computer in a user agent field.
5 (a) and 5 (b) are views illustrating an operating system type used in a mobile in a user agent field.
6 is a diagram showing a structure of an IP header.
7 is a diagram showing a structure of a TCP header.
8 is a diagram showing fields included in the option of the TCP header
9 is a detailed configuration diagram of the terminal and the address translation identification device of FIG.
10 is a flowchart illustrating a method of identifying a UE according to an exemplary embodiment of the present invention.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 설명하기 위하여 이하에서는 본 발명의 바람직한 실시예를 예시하고 이를 참조하여 살펴본다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

먼저, 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.First, the terminology used in the present application is used only to describe a specific embodiment, and is not intended to limit the present invention, and the singular expressions may include plural expressions unless the context clearly indicates otherwise. Also, in this application, the terms "comprise", "having", and the like are intended to specify that there are stated features, integers, steps, operations, elements, parts or combinations thereof, But do not preclude the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 3은 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 시스템을 포함한 네트워크 구성도이다.3 is a network configuration diagram including a terminal information identification system according to a preferred embodiment of the present invention.

도 3을 참조하면, 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 시스템을 포함한 네트워크는 단말(100a~100n), 네트워크 주소 변환 장치(NAT :Natwork Address Translation)(200), 다수의 라우터(300), 단말 정보 식별 시스템(400) 및 서버(500)를 포함하고 있다.3, a network including a terminal information identification system according to an exemplary embodiment of the present invention includes terminals 100a to 100n, a network address translator (NAT) 200, a plurality of routers 300 ), A terminal information identification system 400, and a server 500.

먼저, 네트워크는 유선 및 무선과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 인터넷(World Wide Web), WLAN(Wireless LAN), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access) 또는 GSM(Global System for Mobile communications) 통신망 등을 모두 포함하는 개념인 것으로 이해되어야 한다. First, the network may be configured without regard to its communication mode such as wired and wireless, and may be connected to the Internet (World Wide Web), WLAN (Wireless LAN), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access GSM (Global System for Mobile communications) communication network, and the like.

그리고, 단말(100a~100n)은 네트워크에 접속하여 서로 통신할 수 있는 기능을 갖는 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 태플릿 컴퓨터, 스마트폰, 이동 전화기, IPTV 수신기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 단말(100a~100n)이 될 수 있다.The terminals 100a to 100n are devices having a function of connecting to a network and communicating with each other, such as a personal computer (e.g., a desktop computer or a notebook computer), a workstation, a PDA, , A mobile phone, an IPTV receiver, or the like, and can be any terminal having the computing ability by mounting a microprocessor and having memory means such as an IPTV receiver.

여기에서, 편의상 단말(100a~100f)는 네트워크 주소 변환 장치(200)를 경유하여 통신을 수행하며, 단말(100g~100n)은 네트워크 주소 변환 장치(200)를 경유하지 않고 통신을 수행한다고 가정한다.Herein, it is assumed for convenience that the terminals 100a to 100f perform communication via the network address translation device 200 and the terminals 100g to 100n perform communication without passing through the network address translation device 200 .

다음으로, 네트워크 주소 변환 장치(200)는 패킷의 헤더 정보에 포함되어 있는 단말(100a~100n)의 사설 IP 주소를 공인 IP 주소로 변환하는 기능을 수행하고, 사설 IP 주소에 관한 정보와 공인 IP 주소에 관한 정보 사이의 맵핑 데이터로 구성되는 맵핑 테이블을 유지하는 기능을 수행한다.Next, the network address translation apparatus 200 performs a function of converting a private IP address of the terminals 100a to 100n included in the header information of the packet into a public IP address, And a mapping table composed of mapping data between information on the address.

그리고, 다수의 라우터(300; R1~Rn)는 네트워크 주소 변환 장치(200)와 서버(500) 사이에 전송 경로를 형성한다. 여기에서 단말(100a~100n)에 인접한 라우터(R1)를 에지 라우터라고 말할 수 있다.The plurality of routers 300 (R1 to Rn) form a transmission path between the network address translation device 200 and the server 500. [ Here, the router R1 adjacent to the terminals 100a to 100n may be referred to as an edge router.

다음으로, 단말 정보 식별 시스템(400)은 패킷 수집부(410)와, 단말 식별부(420) 그리고 주소 변환 식별부(430)를 포함하고 있다.Next, the terminal information identification system 400 includes a packet collection unit 410, a terminal identification unit 420, and an address translation identification unit 430.

상기 패킷 수집부(410)는 단말(100a~100n)로부터 서버(500)로 전송되는 IP 패킷을 수집하여 단말 식별부(420)로 제공한다.The packet collection unit 410 collects IP packets transmitted from the terminals 100a to 100n to the server 500 and provides the IP packets to the terminal identification unit 420. [

그러면, 단말 식별부(420)는 수집된 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트(user-agent)의 분석을 통해 단말(100a~100n)의 종류를 식별하고, HTTP 패킷이 아닌 경우에는 IP 헤더의 유지 기간(TTL:Time To Live)과 TCP 헤더의 윈도우 스케일 인자(WSCALE: Window SCALing factor)의 분석을 통해 단말(100a~100n)의 종류를 식별한다. 이때, IP 헤더의 유지 기간(TTL:Time To Live)과 TCP 헤더의 윈도우 스케일 인자(WSCALE: Window SCALing factor)의 분석에 사용되는 패킷은 바람직하게 단말(100a~100n)이 서버에 접속을 요청하는 TCP SYN 패킷을 사용할 수 있다.If the collected IP packet is an HTTP packet, the terminal identification unit 420 identifies the type of the terminal 100a through 100n through analysis of a user agent. If the collected IP packet is not an HTTP packet, And identifies the types of the terminals 100a to 100n through analysis of a TTL (Time To Live) of the header and a window scaling factor (WSCALE) of the TCP header. At this time, a packet used for analysis of the TTL (Time To Live) of the IP header and the window scaling factor (WSCALE) of the TCP header is preferably transmitted to the terminal 100a to 100n TCP SYN packets can be used.

그리고, 주소 변환 식별부(430)는 단말 식별부(420)에서 식별된 단말 종류를 전송받고 IP 헤더의 유지 기간을 전송받아 네트워크 주소 변환 장치(200)의 사용 여부를 판단한다.The address translation identification unit 430 receives the terminal type identified by the terminal identification unit 420 and receives the maintenance period of the IP header to determine whether the network address translation apparatus 200 is used.

한편, 서버(500)는 다양한 웹 서비스등을 제공하는 장치이다.Meanwhile, the server 500 is a device for providing various web services and the like.

이와 같이 구성되는 본 발명의 일 실시예에 따른 단말 정보 식별 시스템을 포함한 네트워크의 동작을 살펴보면 다음과 같다.The operation of the network including the terminal information identification system according to an embodiment of the present invention will now be described.

먼저, 패킷 수집부(410)는 단말(100a~100n)에서 서버(500)로 전송되는 IP 패킷을 수집하여 단말 식별부(420)로 전송한다.First, the packet collecting unit 410 collects IP packets transmitted from the terminals 100a to 100n to the server 500, and transmits the IP packets to the terminal identifying unit 420.

이때, 단말(100a~100n)에서 서버(500)로 전송되는 상향 HTTP 패킷에는 단말(100a~100n)의 사용자 에이젠트(user-agent) 필드가 포함되어 있다.At this time, the uplink HTTP packet transmitted from the terminals 100a to 100n to the server 500 includes a user-agent field of the terminals 100a to 100n.

여기에서, 사용자 에이젠트(user-agent) 필드는 사용자의 트래픽에 포함되어 있는 운영 체제(OS:Operation System) 버전, 브라우저 종류와 버전, 브라우저에서 사용하는 웹 라이브러리(web library)의 버전 등을 포함하고 있다.Here, the user agent field includes an operating system (OS) version, a browser type and version included in the user's traffic, a version of a web library used in the browser, and the like .

일반적으로, HTTP 패킷에는 ETH(Ethernet Header), IPH(Internet Protocol Header), TCPH(Transmission Control Protocol Header), HTTPH(HTTP Header) 및 HTTP Body를 포함한다. 여기서, 사용자 에이젠트(User-agent) 필드는 HTTPH에 포함되어 있다.Generally, an HTTP packet includes an ETH (Ethernet Header), an IPH (Internet Protocol Header), a TCPH (Transmission Control Protocol Header), an HTTPH (HTTP Header), and an HTTP Body. Here, the User-agent field is included in HTTPH.

이와 같은 사용자 에이젠트(user-agent) 필드는 (표 1)과 같이 구성되어 있다.This user agent field is structured as shown in Table 1.

사용자 에이젠트(user-agent) 필드The user-agent field 운영체제operating system Windows NT 5.1Windows NT 5.1 Windows XPWindows XP Windows NT 6.1Windows NT 6.1 Windows 7Windows 7 Windows NT 10Windows NT 10 Windows 10Windows 10 Linux-gnuLinux-gnu LInuxLInux iPhone OS 9_3_2iPhone OS 9_3_2 iOSiOS

상기 (표 1)을 참조하면, 사용자 에이젠트(User-agent) 필드의 필드값에 따라 운영체제가 상이함을 알 수 있다.Referring to Table 1, it can be seen that the operating system differs according to the field value of the user agent field.

이에 따라, 단발 식별부(420)는 단말(100a~100n)로부터 서버(500)로 전송되는 수집된 상향 HTTP 패킷에서 사용자 에이젠트 필드를 추출한 후에, 추출된 사용자 에이젠트 필드의 필드값을 근거로 운영 체제를 알아낸 후에 운영 체제를 이용하여 단말(100a~100n)의 종류를 식별한다.Accordingly, the single-shot identification unit 420 extracts the user agent field from the collected upstream HTTP packets transmitted from the terminals 100a to 100n to the server 500, and then, based on the field values of the extracted user agent fields After identifying the operating system, the operating system is used to identify the type of the terminals 100a to 100n.

일예로, 단말 식별부(420)는 추출된 사용자 에이젠트 필드의 필드값이 iPhone OS 9_3_2이면 아이폰(iphone)으로 단말의 종류를 식별하고, Android 5.1.1이면 안드로이드(Android) 운영 체제 기반의 모바일로 단말의 종류를 식별한다.For example, if the field value of the extracted user agent field is iPhone OS 9_3_2, the terminal identification unit 420 identifies the type of the terminal to the iPhone, and if the field value of the extracted user agent field is Android 5.1.1, To identify the type of terminal.

이와 달리 단말 식별부(420)는 사용자 에이젠트 필드의 필드값이 Linux_gnu이면 리눅스(Linux) 기반의 컴퓨터로 단말의 종류를 식별한다.Alternatively, if the field value of the user agent field is Linux_gnu, the terminal identification unit 420 identifies the type of terminal with a Linux-based computer.

또한, 단말 식별부(420)는 사용자 에이젠트 필드의 필드값이 Window NT 5.1, Windows NT 6.1 또는 Windows NT 10이면 윈도우 기반의 컴퓨터로 단말의 종류를 식별한다.In addition, if the field value of the user agent field is Window NT 5.1, Windows NT 6.1, or Windows NT 10, the terminal identification unit 420 identifies the terminal type with a window-based computer.

여기에서, iPhone OS 9_3_2와 Android 5.1.1은 모바일용 운영체제의 예이며, Linux-gnu는 리눅스 기반의 컴퓨터용 운영 체제의 예이며, Window NT 5.1, Windows NT 6.1 또는 Windows NT 10은 윈도우 기반의 컴퓨터용 운영 체제의 예이다. 리눅스 기반의 컴퓨터용 운영 체제와 윈도우 기반의 컴퓨터용 운영 체제는 통합적으로 컴퓨터용 운영 체제로 칭할 수 있다. Here, iPhone OS 9_3_2 and Android 5.1.1 are examples of mobile operating systems, Linux-gnu is an example of an operating system for Linux-based computers, Window NT 5.1, Windows NT 6.1 or Windows NT 10 is a Windows- For example. The operating system for Linux-based computers and the operating system for Windows-based computers can be collectively referred to as operating systems for computers.

이와 관련하여 도 4(a) 및 도 4(b)에 도시한 바와 같이 컴퓨터에서 사용되는 운영 체제 종류(예컨대, windows 7, windows XP)를 사용자 에이젠트 필드 내에 기록한다. In this regard, as shown in FIGS. 4 (a) and 4 (b), the operating system type (for example, windows 7 and windows XP) used in the computer is recorded in the user agent field.

마찬가지로 모바일의 경우, 도 5(a) 및 도 5(b)에 도시한 바와 같이, 모바일에서 사용되는 운영 체제 종류(예컨대, android, iPhone)를 헤더 파일 내에 기록한다.Similarly, in the case of mobile, as shown in FIG. 5 (a) and FIG. 5 (b), an operating system type (for example, android, iPhone) used in a mobile is recorded in a header file.

한편, 위에서 설명한 HTTP 패킷을 사용한 단말 종류의 식별은 단말(100a~100n)이 브라우저를 구동하여 서버(500)에 접속한 경우에만 가능한 방법이다. 왜냐하면 사용자 에이젠트는 HTTP 패킷에만 포함되어 있기 때문이다.On the other hand, the above-described identification of the terminal type using the HTTP packet is possible only when the terminals 100a to 100n are connected to the server 500 by driving the browser. This is because the user agent is only included in HTTP packets.

이와 달리 단말(100a~100n)이 브라우저를 구동하지 않고 네트워크를 통하여 통신하는 경우에는 단말 식별부(420)는 IP 헤더의 유지 기간(TTL:Time To Live)과 TCP 헤더의 윈도우 스케일 인자(WSCALE: Window SCALing factor)를 사용하여 단말의 종류를 식별할 수 있다. 이때, 사용되는 네트워크에서 많이 사용되는 TCP/IP 프로토콜을 살펴보면 단말(100a~100n)에서 전송하는 TCP/IP 데이터 패킷은 응용계층에서 사용자 데이터에 필요로 하는 어플리케이션 헤더가 부가되고, 전송 계층에서 TCP 헤더가 부가되고, 네트워크 계층에서 IP 헤더가 부가되고, 데이터 링크 계층에서 이더넷 헤더가 부가된 형태다.Alternatively, when the terminals 100a to 100n communicate with each other through a network without operating the browser, the terminal identification unit 420 determines the duration of the IP header (TTL: Time To Live) and the window scale factor of the TCP header (WSCALE: Window SCALing factor) can be used to identify the type of terminal. The TCP / IP data packet transmitted from the terminals 100a to 100n is appended to the application header required for the user data in the application layer, and the TCP header in the transmission layer is added to the TCP / An IP header is added in the network layer, and an Ethernet header is added in the data link layer.

이와 같은 IP 헤더는 도 6에 도시된 바와 같이 IP의 버전을 나타내는 버전(version) 필드, 사용자 데이터의 시작을 나타내기 위한 헤더 길이(header length) 필드, 총 길이(total length), 식별(identification) 필드, 서비스 타입 및 수준을 표시하는 비트 플래그(frag) 필드, 플래그먼트 오프셋(fragment offset) 필드, TTL(Time To Live) 필드, 프로토콜 필드, 헤더 체크섬(header checksum) 필드 및 수신 및 송신 IP 어드레스를 포함한다.6, the IP header includes a version field indicating the version of the IP, a header length field indicating the start of the user data, a total length, an identification, A fragment field, a fragment offset field, a time to live (TTL) field, a protocol field, a header checksum field indicating a field, a service type and a level, and a receiving and transmitting IP address .

이처럼 IP 헤더에 위치한 유지 기간(TTL)은 패킷의 유효성을 판단하기 위한 값으로, 이 값이 0에 도달한 패킷은 더 이상 네트워크를 통해 전달되지 않는다. The retention period (TTL) located in the IP header is a value for determining the validity of a packet. A packet whose value reaches 0 is no longer transmitted through the network.

이 값은 홉수(hop count)와 동일한 의미로 사용된다. 즉 패킷이 라우터(300)나 네트워크 주소 변환 장치(200)와 같은 IP 계층에서 포워딩 기능을 제공하는 네트워크 장비를 지날 때마다 1씩 감소한다.This value has the same meaning as the hop count. That is, each time the packet passes through the network equipment that provides the forwarding function at the IP layer such as the router 300 or the network address translation device 200,

그리고, 유지 기간은 초기값을 255까지 가질 수 잇으며, 운영 체제마다 다른 초기값이 설정되어 있으며 아래 (표 2)가 그러한 차이를 보여준다.In addition, the maintenance period can have an initial value of up to 255, different initial values are set for different operating systems, and below (Table 2) shows such differences.

운영체제operating system TTLTTL Windows XPWindows XP 128128 Windows 7Windows 7 128128 Windows 10Windows 10 128128 LinuxLinux 6464 iOSiOS 6464 AndroidAndroid 6464

상기 (표 2)을 참조하면, 운영 체제에 따라 유지 기간의 초기값이 정해지며, 윈도우(windows) 운영 체제와 다른 운영 체제(리눅스나 아이오에스(iOS) 그리고 안드로이드(Android)를 포함) 사이에 유지 기간의 간격이 거의 2배에 도달하기 때문에 단말 식별부(420)는 유지 기간을 추출하여 64보다 크다면 운영 체제가 윈도우 운영 체제로 판단할 수 있고, 이에 따라 해당 단말은 윈도우 운영체제 기반의 컴퓨터 단말로 판단할 수 있다.Referring to Table 2, an initial value of a maintenance period is determined according to an operating system, and a value between a window operating system and another operating system (including Linux, iOS, and Android) Since the interval of the maintenance period has almost reached twice, the terminal identification unit 420 extracts the maintenance period and if it is larger than 64, the operating system can determine that the OS is the Windows operating system, It can be determined to be the terminal.

이때, 단말 식별부(420)는 추출된 유지 기간이 64와 같거나 작다면 리눅스나 아이오에스(iOS) 그리고 안드로이드를 기반으로 한 단말로 식별할 수 있는데, 리눅스 단말과 모바일 단말을 구별하기 위하여 단말 식별부(420)는 윈도우 스케일 인자를 사용할 수 있다.At this time, if the extracted maintenance period is equal to or smaller than 64, the terminal identification unit 420 can identify the terminal based on Linux, iOS, and Android. In order to distinguish the Linux terminal from the mobile terminal, The identification unit 420 may use the window scale factor.

일반적으로, TCP 패킷은 도 7에 도시된 바와 같이 헤더부와 데이터 부로 구성되며, TCP 헤더부는 송신원포트(Source Port) 필드, 수신처 포트(Destination Port) 필드, 시퀀스 번호(Sequence Number) 필드, 응답 번호(Acknowledgement Number) 필드, 데이터 오프셋 필드, 예약(Reserved) 필드, 제어 플래그 필드, 윈도우 사이즈 필드, 체크썸(Checksum) 필드, 긴급 포인터(Urgent Pointer) 필드, 옵션(Options) 필드, 패딩(padding) 필드를 포함하는데, 상기 옵션(Options)필드에 도 8에 도시된 바와 같이 윈도우 스케일 인자(Window SCALing facter)가 포함되어 있다.7, the TCP header includes a source port field, a destination port field, a sequence number field, a response number field, An Acknowledgment Number field, a data offset field, a Reserved field, a control flag field, a window size field, a Checksum field, an Urgent Pointer field, an Options field, a padding field, The window includes a Window Scaling Factor as shown in FIG. 8 in the Options field.

그리고, 제어 플래그 필드에는 TCP의 제어를 위한 플래그 비트들의 집합을 나타내는 것으로, SYN 패킷임을 알리는 플래그 비트와 ACK 패킷임을 알리는 플래그 비트를 포함한다.The control flag field indicates a set of flag bits for controlling the TCP, and includes a flag bit indicating that the packet is a SYN packet and a flag bit indicating that the packet is an ACK packet.

이처럼 윈도우 스케일 인자(WSCALE: window SCALing factor)는 TCP 헤더의 옵션 필드에 포함된 값으로, 수신측 RX 버퍼의 윈도우 크기를 설정하는 역할을 한다.The window scaling factor (WSCALE) is a value included in the option field of the TCP header, and sets the window size of the receiving RX buffer.

이 값은 TCP SYN 패킷에 포함되어 상대방 머신으로 전달되고, 이 값을 지수승으로 하는 크기만큼씩 RX 버퍼의 윈도우가 이동하여 해당 세션의 다음 TCP 패킷 수신을 기다리게 된다.This value is included in the TCP SYN packet and is sent to the other machine. The window of the RX buffer moves by the size of the exponent value, waiting for the next TCP packet of the session.

윈도우 스케일 인자값은 (표 3)에 나타낸 바와 같이, 운영 체제에 따라 상이한 값을 갖는다. The window scale factor values have different values depending on the operating system, as shown in Table 3.

운영체제operating system 윈도우 스케일 인자Window scale factor Windows XPWindows XP 없음none Windows 7Windows 7 22 Windows 10Windows 10 88 LinuxLinux 77 iOSiOS 55 AndroidAndroid 66

상기 (표 3)을 참조하면, 리눅스인 경우에는 7을 사용하고, 아이오에스(iOS)나 안드로이드(Android)는 6을 사용한다.Referring to Table 3, 7 is used for Linux and 6 is used for iOS and Android.

따라서, 단말 식별부(420)은 유지 기간이 64보다 작을 때에 윈도우 스케일 인자가 6보다 큰지 여부를 판단하여, 6보다 크면 리눅스의 운영체제를 가진 컴퓨터 단말로 판단하고, 6보다 크지 않으면 아이폰이나 안드로이드 기반의 모바일 단말로 판단한다.Accordingly, the terminal identification unit 420 determines whether the window scale factor is greater than 6. If the window duration factor is greater than 6, the terminal identification unit 420 determines that the terminal is a computer terminal having a Linux operating system. If the window scale factor is not greater than 6, Of the mobile terminal.

한편, 주소 변환 식별부(430)는 IP 헤더의 유지 기간의 감소에 의해 네트워크 주소 변환 장치(200)의 사용 여부를 판단한다.On the other hand, the address translation identification unit 430 determines whether the network address translation apparatus 200 is used by decreasing the maintenance period of the IP header.

즉, 유지 기간은 패킷이 라우터(300)나 네트워크 주소 변환 장치(200)와 같은 IP 계층에서 포워딩 기능을 제공하는 네트워크 장비를 지날때마다 1씩 감소한다.That is, the retention period is decremented by 1 each time the packet passes through the network equipment providing the forwarding function at the IP layer such as the router 300 or the network address translation apparatus 200. [

따라서, 네트워크 주소 변환 장치(200)를 통과한 패킷의 경우는 그렇지 않은 패킷에 비해 작은 유지 기간을 갖는다.Therefore, in the case of a packet that has passed through the network address translation apparatus 200, the packet has a smaller sustain period than that of the packet.

이에 따라 주소 변환 식별부(430)는 단말(100a~100n)에 가장 가까운 에지 라우터(R1)을 통과한 패킷들을 바로 수집하여 항상 유지 기간이 1이상 감소되도록 한다.Accordingly, the address translation identification unit 430 directly collects packets that have passed through the edge router R1 closest to the terminals 100a to 100n, so that the sustain period is always reduced by one or more.

이때, 주소 변환 식별부(430)는 패킷이 네트워크 주소 변환 장치(200)를 경유한 경우에 1 감소한 유지 기간보다 더 작은 값을 가지기 때문에 단말 식별부(420)에서 식별된 단말 종류를 전송받아 윈도우의 경우에 127보다, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63보다 작은지를 보고 네트워크 주소 변환 장치(200)를 경유하였는지 여부를 식별한다.At this time, since the address translation identification unit 430 has a smaller value than the one-time maintenance period when the packet is passed through the network address translation apparatus 200, the address translation identification unit 430 receives the terminal type identified by the terminal identification unit 420, Is smaller than 127 in case of Linux, IOS, and Android, and it is discriminated whether or not it has passed through the network address translation device 200. [

여기에서, 단말(100a~100f)은 네트워크 주소 변환 장치(200)를 경유하기 때문에, 1 감소한 유지 기간보다 더 작은 값을 가지며 윈도우의 경우에 127보다, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63보다 작은값을 갖는바, 이를 근거로 네트워크 주소 변환 장치(200)를 경유하였다고 주소 변환 식별부(430)는 식별할 수 있다.Since the terminals 100a to 100f pass through the network address translation device 200, the terminals 100a to 100f have a value smaller than the decremented maintenance period, and are smaller than 127 in the case of Windows, 63 in the case of Linux, The address conversion identification unit 430 can identify that the network address translation apparatus 200 has passed the network address translation apparatus 200 based on the small value.

이와 달리, 단말(100g~100n)은 네트워크 주소 변환 장치(200)를 경유하지 않기 때문에, 1 감소한 유지 기간과 같으며 윈도우의 경우에 127, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63을 갖는바, 이를 근거로 네트워크 주소 변환 장치(200)를 경유하지 않았다고 주소 변환 식별부(430)는 식별할 수 있다.On the contrary, since the terminals 100g to 100n do not pass through the network address translation device 200, they have the same maintenance period of 1, 127 for the window, 63 for the Linux and IOS, and 63 for the Android, The address translation identifying unit 430 can identify that the network address translating apparatus 200 has not been passed.

도 9는 도 3의 단말 정보 식별 장치의 상세 구성도이다.FIG. 9 is a detailed configuration diagram of the terminal information identifying apparatus of FIG. 3. FIG.

도 9를 참조하면, 도 3의 단발 식별부(420)는 사용자 에이젠트 추출기(421)와, 유지 기간 추출기(422)와, 윈도우 스케일 추출기(423) 및 단말 식별기(424)를 포함하며, 주소 변환 식별부(430)는 단말 종류 수신기(431)와 주소 변환 식별기(432)를 포함한다.3 includes a user agent extractor 421, a sustain period extractor 422, a window scale extractor 423, and a terminal identifier 424, and the address The conversion identification unit 430 includes a terminal type receiver 431 and an address translation identifier 432.

먼저, 패킷 수집부(410)는 단말(100a~100n)에서 서버(500)로 전송되는 IP 패킷을 수집하여 HTTP 패킷은 단말 식별부(420)의 사용자 에이젠트 추출기(421)로 전송한다. The packet collecting unit 410 collects IP packets transmitted from the terminals 100a to 100n to the server 500 and transmits the HTTP packets to the user agent extractor 421 of the terminal identifying unit 420. [

그러면, 사용자 에이젠트 추출기(421)는 단말(100a~100n)에서 서버(500)로 전송되는 상향 HTTP 패킷에 포함된 사용자 에이젠트(user-agent) 필드를 추출하여 필드값을 알아낸다.The user agent extractor 421 extracts a user agent field included in the upstream HTTP packet transmitted from the terminals 100a to 100n to the server 500 and obtains the field value.

여기에서, 사용자 에이젠트(user-agent) 필드는 사용자의 트래픽에 포함되어 있는 운영 체제(OS:Operation System) 버전, 브라우저 종류와 버전, 브라우저에서 사용하는 웹 라이브러리(web library)의 버전 등을 포함하고 있다.Here, the user agent field includes an operating system (OS) version, a browser type and version included in the user's traffic, a version of a web library used in the browser, and the like .

이와 같이 사용자 에이젠트 추출기(421)가 단말(100a~100n)로부터 서버(500)로 전송되는 수집된 상향 HTTP 패킷에서 사용자 에이젠트 필드를 추출하면, 단말 식별기(424)는 추출된 사용자 에이젠트 필드의 필드값을 근거로 단말(100a~100n)의 종류를 식별한다.When the user agent extractor 421 extracts the user agent field from the collected upstream HTTP packets transmitted from the terminals 100a to 100n to the server 500, the terminal identifier 424 extracts the extracted user agent fields And identifies the types of terminals 100a to 100n based on the field values of the terminals 100a to 100n.

일예로, 단말 식별기(424)는 추출된 사용자 에이젠트 필드의 필드값이 iPhone OS 9_3_2이면 아이폰(iphone)으로 단말의 종류를 식별하고, Android 5.1.1이면 안드로이드(Android) 운영 체제 기반의 모바일로 단말의 종류를 식별한다.For example, if the field value of the extracted user agent field is iPhone OS 9_3_2, the terminal identifier 424 identifies the type of the terminal to the iPhone, and if it is Android 5.1.1, Identifies the type of terminal.

이와 달리 단말 식별기(424)는 사용자 에이젠트 필드의 필드값이 Linux_gnu이면 리눅스(Linux) 기반의 컴퓨터로 단말의 종류를 식별한다.Alternatively, if the field value of the user agent field is Linux_gnu, the terminal identifier 424 identifies the type of the terminal to a Linux-based computer.

또한, 단말 식별기(424)는 사용자 에이젠트 필드의 필드값이 Window NT 5.1, Windows NT 6.1 또는 Windows NT 10이면 윈도우 기반의 컴퓨터로 단말의 종류를 식별한다.In addition, if the field value of the user agent field is Window NT 5.1, Windows NT 6.1, or Windows NT 10, the terminal identifier 424 identifies the type of terminal with a window-based computer.

한편, 패킷 수집부(410)는 수집된 IP 패킷이 HTTP 패킷이 아닌 경우에 수집된 패킷을 유지 기간 추출기(422)로 전송한다.Meanwhile, when the collected IP packet is not an HTTP packet, the packet collecting unit 410 transmits the collected packet to the retention period extractor 422.

그러면, 유지 기간 추출기(422)는 IP 헤더의 유지 기간(TTL:Time To Live)을 추출하여 단말 식별기(424)로 제공한다.Then, the retention period extractor 422 extracts the TTL (Time To Live) of the IP header and provides it to the terminal identifier 424.

운영 체제에 따라 유지 기간의 초기값이 정해지며, 윈도우(windows) 운영 체제와 다른 운영 체제(리눅스나 아이오에스(iOS) 그리고 안드로이드(Android)를 포함) 사이에 유지 기간의 간격이 거의 2배에 도달하기 때문에 단말 식별기(424)는 추출된 유지 기간이 64보다 크다면 운영 체제가 윈도우 운영 체제로 판단할 수 있고, 이에 따라 해당 단말은 윈도우 운영체제 기반의 컴퓨터 단말로 판단할 수 있다.Depending on the operating system, the initial value of the retention period is set, and the interval between the windows operating system and other operating systems (including Linux, iOS, and Android) is almost twice as long The terminal identifier 424 can determine that the operating system is a Windows operating system if the extracted maintenance period is greater than 64, and accordingly the terminal can be determined as a computer terminal based on the Windows operating system.

이때, 단말 식별기(424)는 추출된 유지 기간이 64와 같거나 작다면 리눅스나 아이오에스(iOS) 그리고 안드로이드를 기반으로 한 단말로 식별할 수 있으나 더 구체적인 단말 종류는 알 수 없다.At this time, if the extracted retention period is equal to or smaller than 64, the terminal identifier 424 can identify the terminal based on Linux, iOS, and Android, but can not know the terminal type more specifically.

이에 따라, 윈도우 스케일 추출기(4230은 TCP 헤더의 옵션 필드에 있는 윈도우 스케일 인자를 추출하여 단말 식별기(424)로 제공한다.Accordingly, the window scale extractor 4230 extracts the window scale factor in the option field of the TCP header and provides it to the terminal identifier 424.

이에 따라 단말 식별기(424)는 유지 기간이 64보다 작을 때에 윈도우 스케일 인자가 6보다 큰지 여부를 판단하여, 6보다 크면 리눅스의 운영체제를 가진 컴퓨터 단말로 판단하고, 6보다 크지 않으면 아이폰이나 안드로이드 기반의 모바일 단말로 판단한다.Accordingly, the terminal identifier 424 determines whether the window scale factor is greater than 6. If the window duration factor is greater than 6, the terminal identifier 424 determines that the terminal is a computer terminal having a Linux operating system. If the window scale factor is not greater than 6, It is judged as a mobile terminal.

한편, 주소 변환 식별부(430)의 단말 종류 수신기(431)는 단말 식별부(420)의 단말 식별기(424)에서 전송되는 단말 종류를 전송받는다.Meanwhile, the terminal type receiver 431 of the address translation identification unit 430 receives the terminal type transmitted from the terminal identifier 424 of the terminal identification unit 420.

그리고, 주소 변환 식별기(432)는 패킷이 네트워크 주소 변환 장치(200)를 경유한 경우에 1 감소한 유지 기간보다 더 작은 값을 가지기 때문에 단말 식별기(424)에서 식별된 단말 종류를 전송받아 윈도우의 경우에 127보다, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63보다 작은지를 보고 네트워크 주소 변환 장치(200)를 경유하였는지 여부를 식별한다.Since the address conversion identifier 432 has a smaller value than the one-time maintenance period when the packet passes through the network address translation apparatus 200, the address translation identifier 432 receives the terminal type identified by the terminal identifier 424, Is smaller than 127 in the case of Linux or IOS and Android in the case of Android, it is discriminated whether or not it has passed through the network address translation device 200. [

여기에서, 단말(100a~100f)은 네트워크 주소 변환 장치(200)를 경유하기 때문에, 1 감소한 유지 기간보다 더 작은 값을 가지며 윈도우의 경우에 127보다, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63보다 작은값을 갖는바, 이를 근거로 네트워크 주소 변환 장치(200)를 경유하였다고 주소 변환 식별기(432)는 식별할 수 있다.Since the terminals 100a to 100f pass through the network address translation device 200, the terminals 100a to 100f have a value smaller than the decremented maintenance period, and are smaller than 127 in the case of Windows, 63 in the case of Linux, The address translation identifier 432 can be identified as having passed through the network address translator 200 based on the small value.

이와 달리, 단말(100g~100n)은 네트워크 주소 변환 장치(200)를 경유하지 않기 때문에, 1 감소한 유지 기간과 같으며 윈도우의 경우에 127, 리눅스나 아이오에스 그리고 안드로이드의 경우에 63을 갖는바, 이를 근거로 네트워크 주소 변환 장치(200)를 경유하지 않았다고 주소 변환 식별기(432)는 식별할 수 있다.On the contrary, since the terminals 100g to 100n do not pass through the network address translation device 200, they have the same maintenance period of 1, 127 for the window, 63 for the Linux and IOS, and 63 for the Android, Based on this, the address translation identifier 432 can identify that the network address translation apparatus 200 has not been passed.

도 10은 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 방법의 흐름도이다.10 is a flowchart illustrating a method of identifying a UE according to an exemplary embodiment of the present invention.

도 10을 참조하면, 본 발명의 바람직한 일 실시예에 따른 단말 정보 식별 방법은 먼저 패킷 수집부가 단말에서 서버로 전송되는 IP 패킷을 수집한다(S100).Referring to FIG. 10, in a terminal information identification method according to an embodiment of the present invention, a packet collector collects IP packets transmitted from a terminal to a server (S100).

그리고, 패킷 수집부는 수집한 IP 패킷의 헤더 분석을 통해 HTTP 패킷을 식별한다(S102). Then, the packet collecting unit identifies the HTTP packet through header analysis of the collected IP packet (S102).

상기 패킷 수집부에 의한 식별 결과 수집한 IP 패킷이 HTTP 패킷이면 단말 식별부는 HTTP 패킷에서 사용자 에이젠트 필드의 필드값을 추출하여 분석한다(S104).If the IP packet collected as the result of the identification by the packet collecting unit is an HTTP packet, the terminal identifying unit extracts and analyzes the field value of the user agent field in the HTTP packet (S104).

상기 단말 식별부는 분석 결과 만약 사용자 에이젠트 필드의 필드값에 따른 운영체제 버전이 아이오에스(iOS)와 안드로이드(Android)이면(S106) 스마트폰, 스마트패드 등의 모바일 단말로 분류한다(S120).If the operating system version corresponding to the field value of the user agent field is iOS and Android, the terminal identification unit classifies the terminal into a mobile terminal such as a smart phone or a smart pad at step S120.

이와 달리 상기 단말 식별부는 분석 결과 만약 사용자 에이젠트 필드의 필드값에 따른 운영체제 버전이 리눅스이면(S108) 리눅스 기반의 컴퓨터 단말로 분류한다(S122).Otherwise, if the operating system version according to the field value of the user agent field is Linux (S108), the terminal identification unit classifies the terminal as a Linux-based computer terminal (S122).

또한, 상기 단말 식별부는 분석 결과 만약 사용자 에이젠트 필드의 필드값에 따른 운영체제 버전이 윈도우이면(S110) 윈도우 기반의 컴퓨터 단말로 분류하며(S124), 이에도 해당하지 않으면 미지의 단말로 분류하고 종료한다(S112).If the operating system version corresponding to the field value of the user agent field is a window (S110), the terminal identification unit classifies the terminal into a window-based computer terminal (S124) (S112).

하지만, 단말 식별부는 사용자 에이젠트 필드가 HTTP 패킷에만 포함되기 때문에 웹을 접근하지 않는 일반 TCP 패킷의 경우에는 검출할 수 없다. 따라서 HTTP 패킷이 아닌 경우에는 유지 기간과 윈도우 스케일 인자의 확인을 통해 단말의 종류를 식별한다. However, since the user agent field is included only in the HTTP packet, the terminal identification unit can not detect the ordinary TCP packet that does not access the web. Therefore, if the packet is not an HTTP packet, the terminal type is identified by checking the duration and the window scale factor.

이를 위하여 패킷 수집부가 IP 패킷의 IP 헤더 분석을 통하여(특히 TCP SYN 패킷의 헤더 분석을 통하여) 유지 기간을 추출한다(S114).To do this, the packet collector extracts the retention period through IP header analysis of the IP packet (especially through header analysis of the TCP SYN packet) (S114).

상기 설명한 바와 같이, 윈도우 계열은 유지 기간의 초기값으로 128을 사용하며, 이에 따라 단말 식별부는 유지 기간이 64보다 크고 128 이하이면(S116) 해당 패킷을 보낸 단말을 윈도우를 사용하는 컴퓨터 단말로 식별한다(S124). As described above, the window sequence uses 128 as the initial value of the sustain period, and accordingly, the terminal identification unit identifies the terminal that transmitted the packet as a computer terminal using the window if the sustain period is greater than 64 and less than or equal to 128 (S116) (S124).

이와 달리 단말 식별부는 유지 기간이 64이하인 경우는 리눅스(Linux), 아이오에스(iOS), 안드로이드(Android)가 모두 포함되기 때문에 이들을 식별하기 위해 TCP 헤더에서 윈도우 스케일 인자를 추출하여 리눅스(Linux)는 윈도우 스케일 인자가 7이고, 아이오에스(iOS)는 5, 안드로이드(Android)는 6을 사용하기 때문에 윈도우 스케일 인자가 6보다 큰 경우는(S116) 리눅스(Linux)를 사용하는 컴퓨터에 해당되고(S122), 6 이하인 경우는 아이오에스(iOS)와 안드로이드(Android)이기 때문에 모바일 단말로 식별한다(S120).On the other hand, the terminal identification part extracts the window scale factor from the TCP header to identify them because Linux, IOS, and Android are all included when the maintenance period is 64 or less. If the window scale factor is greater than 6 (S116), it corresponds to a computer using Linux (S122) because the window scale factor is 7, iOS is 5, and Android is 6 ), And when it is 6 or less, it is identified as a mobile terminal because it is iOS and Android (S120).

이렇게 식별된 단말은 다시 각 단말의 유지 기간이 감소한 정도에 의해 네트워크 주소 변환 장치의 사용여부를 판단할 수 있다. The terminal thus identified can determine whether to use the network address translation apparatus according to the degree of decrease in the maintenance period of each terminal.

상기 기술한 바와 같이, 유지 기간은 라우터나 네트워크 주소 변환 장치를 통과할 때마다 1씩 감소하는 특성이 있다. As described above, the sustain period has a characteristic of decrementing by 1 every time it passes through the router or the network address translator.

따라서 네트워크 주소 변환 장치를 경유한 패킷의 경우는 그렇지 않은 패킷에 비해 작은 유지 기간을 갖는다. Therefore, the packet passing through the network address translation device has a shorter maintenance period than that of the packet not including the packet.

그러므로, 본 발명은 단말에 가장 가까운 에지 라우터를 통과한 패킷들을 바로 수집하도록 하여 항상 유지 기간이 1만 감소되도록 한다. Therefore, the present invention directly collects packets passing through the edge router closest to the terminal, thereby reducing the maintenance period by one every time.

이에 따라, 주소 변환 식별부는 만약 네트워크 주소 변환 장치를 거쳤다면 1 감소한 유지 기간보다 더 작은 값을 갖기 때문에 윈도우의 경우는 127보다 작은지(S126), 리눅스나 아이오에스 그리고 안드로이드의 경우는 63보다 작은지를 보고(S128) 네트워크 주소 변환기의 경유 여부를 식별한다(S130, S132).Accordingly, the address translation identification unit is smaller than 127 in the case of the window (S126) because it has a smaller value than the reduced maintenance period if passed through the network address translation apparatus, and is smaller than 63 in the case of Linux, IOS and Android (S128), and identifies whether the network address translator has passed (S130, S132).

본 발명에 따르면, 일반적인 패킷에 포함된 유지 기간(TTL), 윈도우 스케일 인자(WSCALE), 사용자 에이젠트(user-agent) 값의 복합적인 비교를 통해서 단말의 종류를 식별하고, 해당 단말이 네트워크 주소 변환 장치를 사용하지는 여부까지 식별한다. 이는 기존의 선형성을 보는 방식에 비해 복잡도가 낮기 때문에 쉽게 구현이 가능하고, 실행 오버헤드도 줄일 수 있다. According to the present invention, a type of a terminal is identified through a complex comparison of a retention period (TTL), a window scale factor (WSCALE), and a user agent value included in a general packet, Identify whether or not to use a conversion device. This is easy to implement because the complexity is low compared to the existing linearity method, and the execution overhead can also be reduced.

또한, 본 발명은 단순히 네트워크 주소 변환 장치의 사용 여부만을 식별하는 것이 아니라, 단말의 종류를 식별함으로 추후 단말 별로 서비스를 제공하기 위한 기초 자료로도 활용할 수 있다. In addition, the present invention can be utilized not only as to whether or not to use the network address translation apparatus, but also as a basic data for providing service for each terminal by identifying the terminal type.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상이 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments of the present invention are not intended to limit the scope of the present invention but to limit the scope of the present invention. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.

100a~100n : 단말 200 : 네트워크 주소 변환 장치
300 : 라우터 400 : 단말 정보 식별 시스템
410 : 패킷 수집부 420 : 단말 식별부
421 : 사용자 에이젠트 추출기 422 : 유지 기간 추출기
423 : 윈도우 스케일 추출기 424 : 단말 식별기
430 : 주소 변환 식별부 431 : 단말 종류 수신기
432 : 주소 변환 식별기 500 : 서버
100a to 100n: terminal 200: network address translation device
300: router 400: terminal information identification system
410: Packet collecting unit 420:
421: User agent extractor 422: Retention period extractor
423: window scale extractor 424: terminal identifier
430: address conversion identification unit 431: terminal type receiver
432: address translation identifier 500: server

Claims (21)

단말로부터 전송된 IP 패킷을 수집하는 패킷 수집부;
상기 패킷 수집부가 수집한 IP 패킷에 포함된 운영 체제 정보와 유지 시간을 이용하여 단말 종류를 식별하는 단말 식별부; 및
상기 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 주소 변환 식별부를 포함하며,
상기 주소 변환 식별부는
상기 단말 식별부로부터 단말 종류를 수신하는 단말 종류 수신기; 및
상기 단말 종류 수신기에 수신한 단말 종류가 윈도우 기반 컴퓨터 단말인 경우에 제1 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하고, 단말 종류가 리눅스 기반 컴퓨터 단말과 모바일 단말인 경우에 제2 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하는 주소 변환 식별기를 포함하는 단말 정보 식별 시스템.
A packet collecting unit for collecting IP packets transmitted from the terminal;
A terminal identification unit for identifying the terminal type using the operating system information and the holding time included in the IP packet collected by the packet collector; And
And an address conversion identification unit for determining whether to use the network address translation apparatus by reducing the maintenance period of the IP packet collected by the packet collector,
The address translation identification unit
A terminal type receiver for receiving a terminal type from the terminal identification unit; And
If the terminal type received by the terminal type receiver is a Windows-based computer terminal, it is determined that the use of the network address translation device is enabled if the IP header of the IP packet has a shorter maintenance period than a value obtained by decrementing the first retention period reference value by one. Based on a value of the second maintenance period reference value, the IP address of the mobile terminal is determined to be the use of the network address translation apparatus if the IP header of the IP packet has a shorter maintenance period than a value obtained by subtracting 1 from the value of the second sustain period reference value, Information identification system.
청구항 1항에 있어서,
상기 단말 식별부는 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드의 운영 체제 정보가 컴퓨터용 운영 체제이면 컴퓨터 단말로 식별하고 모바일용 운영 체제이면 모바일 단말로 식별하는 단말 정보 식별 시스템.
The method according to claim 1,
Wherein the terminal identification unit identifies the operating system information of the user agent field as a computer terminal if the IP packet is an HTTP packet, and identifies the mobile terminal as a mobile terminal if the operating system is a mobile operating system.
청구항 1항에 있어서,
상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하는 단말 정보 식별 시스템.
The method according to claim 1,
Wherein the terminal identification unit identifies the IP header as a window-based computer terminal if the IP header holding time is greater than the first holding time reference value when the IP packet is not an HTTP packet.
청구항 3 항에 있어서,
상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 IP 패킷의 TCP 헤더에 포함된 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단말 정보 식별 시스템.
The method according to claim 3,
If the IP packet is not an HTTP packet and the retention time of the IP header is equal to or smaller than the first retention time reference value, the terminal identification unit uses the window scale factor included in the TCP header of the IP packet to determine the terminal information Identification system.
단말로부터 전송된 IP 패킷을 수집하는 패킷 수집부; 및
상기 패킷 수집부가 수집한 IP 패킷에 포함된 운영 체제 정보와 유지 시간을 이용하여 단말 종류를 식별하는 단말 식별부를 포함하며,
상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하고,
상기 단말 식별부는 IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 IP 패킷의 TCP 헤더에 포함된 윈도우 스케일 인자를 이용하여 단말 종류를 식별하며,
상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크면 리눅스 기반의 컴퓨터 단말로 식별하고, 제1 윈도우 스케일 기준값보다 크지 않으면 모바일 단말로 식별하는 단말 정보 식별 시스템.
A packet collecting unit for collecting IP packets transmitted from the terminal; And
And a terminal identification unit for identifying the terminal type using the operating system information and the holding time included in the IP packet collected by the packet collector,
The terminal identification unit identifies the IP header as a window-based computer terminal if the IP header holding time is greater than the first holding time reference value when the IP packet is not an HTTP packet,
The terminal identification unit identifies the terminal type using the window scale factor included in the TCP header of the IP packet if the IP header holding time is equal to or smaller than the first retention time reference value when the IP packet is not an HTTP packet,
Wherein the terminal identification unit identifies the terminal as a Linux based computer terminal if the window scale factor is greater than the first window scale reference value and identifies the terminal as a mobile terminal if the window scale factor is not greater than the first window scale reference value.
청구항 1항에 있어서,
상기 단말 식별부는
IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드에서 필드값을 추출하는 사용자 에이젠트 추출기;
IP 패킷이 HTTP 패킷이 아닌 경우에 IP 헤더에서 유지 시간을 추출하는 유지 시간 추출기; 및
사용자 에이젠트 추출기가 추출한 사용자 에이젠트 필드의 필드값에 따른 운영 체제와 유지 시간 추출기가 추출한 유지 시간을 이용하여 단말 종류를 식별하는 단말 식별기를 포함하는 단말 정보 식별 시스템.
The method according to claim 1,
The terminal identification unit
A user agent extractor for extracting a field value from the user agent field when the IP packet is an HTTP packet;
A retention time extractor for extracting retention time from the IP header when the IP packet is not an HTTP packet; And
And a terminal identifier that identifies the terminal type using the operating system and the retention time extracted by the retention time extractor according to the field value of the user agent field extracted by the user agent extractor.
청구항 6항에 있어서,
상기 단말 식별부는
IP 패킷이 HTTP 패킷이 아닌 경우에 TCP 헤더에 포함된 윈도우 스케일 인자를 추출하는 윈도우 스케일 추출기를 더 포함하며,
상기 단말 식별기는 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하고, 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단말 정보 식별 시스템.
The method of claim 6,
The terminal identification unit
And a window scale extractor for extracting a window scale factor included in the TCP header when the IP packet is not an HTTP packet,
The terminal identifier identifies the terminal as a window-based computer terminal if the hold time is greater than the first hold time reference value, and if the hold time is less than or equal to the first hold time reference value, .
청구항 5항에 있어서,
상기 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 주소 변환 식별부를 더 포함하는 단말 정보 식별 시스템.
The method of claim 5,
Further comprising an address conversion identification unit for determining whether the network address translation apparatus is used by decreasing the maintenance period of the IP packet collected by the packet collector.
삭제delete 삭제delete 삭제delete 삭제delete (A) 패킷 수집부가 IP 패킷을 수집하는 단계;
(B) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷인 경우에 운영 체제 정보를 이용하여 단말 종류를 식별하는 단계;
(C) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷이 아닌 경우에 유지 시간을 이용하여 단말 종류를 식별하는 단계; 및
(E) 주소 변환 식별부가 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 단계를 포함하며,
상기 (E) 단계에서 상기 주소 변환 식별부는 단말 종류가 윈도우 기반 컴퓨터 단말인 경우에 제1 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하고, 단말 종류가 리눅스 기반 컴퓨터 단말과 모바일 단말인 경우에 제2 유지 기간 기준값에서 1을 감소한 값보다 IP 패킷의 IP 헤더의 유지 기간이 작으면 네트워크 주소 변환 장치의 사용으로 판단하는 단말 정보 식별 방법.
(A) collecting IP packets by a packet collector;
(B) identifying a terminal type using an operating system information when an IP packet collected by the packet collector is an HTTP packet;
(C) identifying a terminal type using a retention time if the IP packet collected by the packet collector is not an HTTP packet; And
(E) determining whether the network address translation apparatus is used by decreasing the maintenance period of the IP packet collected by the address translation identification adder packet collector,
In the step (E), if the duration of the IP header of the IP packet is smaller than the value obtained by decrementing the first retention period reference value in the case where the terminal type is a window-based computer terminal, And determines that the use of the network address translation apparatus is determined if the maintenance period of the IP header of the IP packet is smaller than a value obtained by subtracting 1 from the second sustain period reference value in the case where the terminal type is a Linux- Way.
청구항 13항에 있어서,
상기 (B) 단계는
(B-1) 상기 단말 식별부는 IP 패킷이 HTTP 패킷인 경우에 사용자 에이젠트 필드의 필드값을 추출하는 단계;
(B-2) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 윈도우 기반 컴퓨터용 운영 체제이면 윈도우 기반 컴퓨터 단말로 식별하는 단계;
(B-3) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 리눅스 기반 컴퓨터용 운영 체제이면 리눅스 기반 컴퓨터 단말로 식별하는 단계; 및
(B-4) 상기 단말 식별부는 추출한 사용자 에이젠트 필드의 운영 체제 정보가 모바일용 운영 체제이면 모바일 단말로 식별하는 단계를 포함하는 단말 정보 식별 방법.
The method of claim 13,
The step (B)
(B-1) the terminal identification unit extracts a field value of the user agent field when the IP packet is an HTTP packet;
(B-2) if the operating system information of the extracted user agent field is an operating system for a window-based computer, the terminal identifying unit identifies the operating system information as a window-based computer terminal;
(B-3) The terminal identification unit identifies a Linux-based computer terminal if the operating system information of the extracted user agent field is an operating system for a Linux-based computer; And
(B-4) The terminal identification unit identifies the mobile terminal if the operating system information of the extracted user agent field is a mobile operating system.
청구항 13항에 있어서,
상기 (C) 단계는 상기 단말 식별부가 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 크면 윈도우 기반 컴퓨터 단말로 식별하는 단말 정보 식별 방법.
The method of claim 13,
Wherein the step (C) identifies the terminal identifier as a window-based computer terminal if the IP header of the IP packet has a retention time greater than a first retention time reference value.
청구항 13항에 있어서,
(D) 상기 단말 식별부는 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단계를 더 포함하는 단말 정보 식별 방법.
The method of claim 13,
(D) The terminal identification unit identifies the terminal type using the window scale factor if the IP header of the IP packet has a retention time that is equal to or smaller than a first retention time reference value.
(A) 패킷 수집부가 IP 패킷을 수집하는 단계;
(B) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷인 경우에 운영 체제 정보를 이용하여 단말 종류를 식별하는 단계;
(C) 단말 식별부가 상기 패킷 수집부가 수집한 IP 패킷이 HTTP 패킷이 아닌 경우에 유지 시간을 이용하여 단말 종류를 식별하는 단계; 및
(D) 상기 단말 식별부는 IP 패킷의 IP 헤더의 유지 시간이 제1 유지 시간 기준값보다 같거나 작으면 윈도우 스케일 인자를 이용하여 단말 종류를 식별하는 단계를 포함하며,
상기 (D) 단계는
(D-1) 상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크면 리눅스 기반의 컴퓨터 단말로 식별하는 단계; 및
(D-2) 상기 단말 식별부는 윈도우 스케일 인자가 제1 윈도우 스케일 기준값보다 크지 않으면 모바일 단말로 식별하는 단계를 포함하는 단말 정보 식별 방법.
(A) collecting IP packets by a packet collector;
(B) identifying a terminal type using an operating system information when an IP packet collected by the packet collector is an HTTP packet;
(C) identifying a terminal type using a retention time if the IP packet collected by the packet collector is not an HTTP packet; And
(D) The terminal identification unit identifies the terminal type using the window scale factor if the IP header of the IP packet has a retention time equal to or smaller than a first retention time reference value,
The step (D)
(D-1) if the window scale factor is greater than the first window scale reference value, identifying the terminal as a Linux-based computer terminal; And
(D-2) The terminal identification unit identifies the mobile terminal if the window scale factor is not greater than the first window scale reference value.
청구항 17항에 있어서,
(E) 주소 변환 식별부가 패킷 수집부가 수집한 IP 패킷의 유지 기간의 감소에 의해 네트워크 주소 변환 장치의 사용 여부를 판단하는 단계를 더 포함하는 단말 정보 식별 방법.
The method of claim 17,
(E) determining whether to use the network address translation apparatus by decreasing the maintenance period of the IP packet collected by the address translation identification adder packet collector.
삭제delete 삭제delete 삭제delete
KR1020160103108A 2016-08-12 2016-08-12 Apparatus and method for identifying terminal information KR101852506B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160103108A KR101852506B1 (en) 2016-08-12 2016-08-12 Apparatus and method for identifying terminal information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160103108A KR101852506B1 (en) 2016-08-12 2016-08-12 Apparatus and method for identifying terminal information

Publications (2)

Publication Number Publication Date
KR20180018128A KR20180018128A (en) 2018-02-21
KR101852506B1 true KR101852506B1 (en) 2018-04-27

Family

ID=61524985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160103108A KR101852506B1 (en) 2016-08-12 2016-08-12 Apparatus and method for identifying terminal information

Country Status (1)

Country Link
KR (1) KR101852506B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060446B1 (en) * 2019-05-16 2019-12-30 주식회사 모파스 Block chain based compensation security system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710781A (en) * 2020-12-16 2022-07-05 华为技术有限公司 Terminal identification method and device
KR102571147B1 (en) * 2021-06-14 2023-08-25 주식회사 이지스텍 Security apparatus and method for smartwork environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007295039A (en) * 2006-04-20 2007-11-08 Internatl Business Mach Corp <Ibm> Device and method for detecting network address converter
JP2011124777A (en) * 2009-12-10 2011-06-23 Nippon Telegr & Teleph Corp <Ntt> Communication classification device and communication classification method, and program for the same
KR101361823B1 (en) 2011-03-23 2014-02-25 주식회사 케이티 Method for deciding tethering service in communication system and apparatus therefor
JP2014209674A (en) * 2013-04-16 2014-11-06 Kddi株式会社 Identification device, identification method, and identification program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007295039A (en) * 2006-04-20 2007-11-08 Internatl Business Mach Corp <Ibm> Device and method for detecting network address converter
JP2011124777A (en) * 2009-12-10 2011-06-23 Nippon Telegr & Teleph Corp <Ntt> Communication classification device and communication classification method, and program for the same
KR101361823B1 (en) 2011-03-23 2014-02-25 주식회사 케이티 Method for deciding tethering service in communication system and apparatus therefor
JP2014209674A (en) * 2013-04-16 2014-11-06 Kddi株式会社 Identification device, identification method, and identification program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060446B1 (en) * 2019-05-16 2019-12-30 주식회사 모파스 Block chain based compensation security system

Also Published As

Publication number Publication date
KR20180018128A (en) 2018-02-21

Similar Documents

Publication Publication Date Title
CN113411313B (en) Data transmission method, device and system
Han et al. A timing-based scheme for rogue AP detection
US9712559B2 (en) Identifying frames
US9049220B2 (en) Systems and methods for detecting and preventing flooding attacks in a network environment
KR101779327B1 (en) Method and apparatus for generating fingerprint based on rule
WO2015018303A1 (en) Method and device for detecting distributed denial of service attack
KR101852506B1 (en) Apparatus and method for identifying terminal information
US8320249B2 (en) Method and system for controlling network access on a per-flow basis
US9001650B2 (en) TCP relay apparatus
Chen et al. {Off-Path}{TCP} Exploit: How Wireless Routers Can Jeopardize Your Secrets
CN105634660A (en) Data packet detection method and system
CN106507414B (en) Message forwarding method and device
KR101064382B1 (en) Arp attack blocking system in communication network and method thereof
KR101775325B1 (en) Method and apparatus for detecting network address trnaslation device
CN104378450A (en) Protection method and device for network attacks
WO2012097553A1 (en) Virus prevention method and system for intelligent mobile terminal
CN103067360B (en) Program network Activity recognition method and system
CN108848202B (en) Electronic device, data transmission method and related product
CN102571806A (en) Apparatus and method for actively preventing deception of router advertisement message
KR101687811B1 (en) Design of Agent Type&#39;s ARP Spoofing Detection Scheme which uses the ARP probe Packet and Implementation of the Security Solution
KR101432266B1 (en) Method, appratus and computer-readable recording medium for detecting nat device
Cisco Configuring IP
Cisco Configuring IP
Park A study of packet analysis regarding a DoS attack in WiBro environments
CN110768983B (en) Message processing method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant