KR20240009302A - Electronic apparatus and method for analyzing http traffic thereby - Google Patents

Electronic apparatus and method for analyzing http traffic thereby Download PDF

Info

Publication number
KR20240009302A
KR20240009302A KR1020220098688A KR20220098688A KR20240009302A KR 20240009302 A KR20240009302 A KR 20240009302A KR 1020220098688 A KR1020220098688 A KR 1020220098688A KR 20220098688 A KR20220098688 A KR 20220098688A KR 20240009302 A KR20240009302 A KR 20240009302A
Authority
KR
South Korea
Prior art keywords
http
parsing
content
information
analyzing
Prior art date
Application number
KR1020220098688A
Other languages
Korean (ko)
Other versions
KR102663914B1 (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 주식회사 시큐다임
Publication of KR20240009302A publication Critical patent/KR20240009302A/en
Application granted granted Critical
Publication of KR102663914B1 publication Critical patent/KR102663914B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

HTTP 메시지의 헤더로부터 호스트 정보, URL 정보 및 메쏘드 정보 중 적어도 하나를 포함하는 헤더 정보를 추출하는 단계; 복수의 파싱 툴 중 추출된 헤더 정보에 대응하는 파싱 툴을 선택하는 단계; 및 선택된 파싱 툴에 대응하는 파싱 룰에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출하는 단계를 포함하는, 일 실시예에 따른 HTTP 트래픽의 분석 방법이 개시된다.Extracting header information including at least one of host information, URL information, and method information from the header of the HTTP message; Selecting a parsing tool corresponding to extracted header information from among a plurality of parsing tools; and extracting content from the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool. A method for analyzing HTTP traffic according to an embodiment is disclosed.

Description

전자 장치 및 이에 의한 HTTP 트래픽의 분석 방법{ELECTRONIC APPARATUS AND METHOD FOR ANALYZING HTTP TRAFFIC THEREBY}Electronic device and method of analyzing HTTP traffic thereby {ELECTRONIC APPARATUS AND METHOD FOR ANALYZING HTTP TRAFFIC THEREBY}

본 개시는 트래픽 분석에 관한 것이다. 보다 구체적으로, 본 개시는 네트워크 상의 HTTP(HyperText Transfer Protocol) 트래픽의 컨텐츠를 추출 및 분석하는 장치 및 방법에 관한 것이다.This disclosure relates to traffic analysis. More specifically, the present disclosure relates to an apparatus and method for extracting and analyzing content of HyperText Transfer Protocol (HTTP) traffic on a network.

네트워크 기술이 비약적으로 발달하면서 문서 작업과 같이 주로 오프라인에서 수행되던 서비스들이 온라인에서 이루어지고 있다. 파일의 업로드/다운로드, 이메일, 채팅, 문서 편집 등의 많은 서비스가 온라인에서 이루어지고 있으므로, 효율적인 네트워크 보안이 요구된다.As network technology has developed dramatically, services that were mainly performed offline, such as document work, are now being performed online. Since many services such as file upload/download, email, chat, and document editing are performed online, efficient network security is required.

네트워크 보안은, 패킷의 헤더 정보(IP 프로토콜 정보)만으로 접근 통제를 하는 기존 방식에서 패킷의 페이로드를 검사하는 방식(예를 들어, IDS(Intrusion Detection System)/IPS(Intrusion Preventing System))으로 발전하였고, 더 나아가 웹 방화벽으로 대표되는 HTTP와 같은 L7(layer 7) 프로토콜의 헤더까지 검사하는 방식으로 발전하였다.Network security has evolved from the existing method of access control using only packet header information (IP protocol information) to a method of inspecting the payload of the packet (e.g., IDS (Intrusion Detection System)/IPS (Intrusion Preventing System)). Furthermore, it has developed into a method of inspecting the headers of L7 (layer 7) protocols such as HTTP, represented by web firewalls.

최근 들어, 대부분의 네트워크 서비스가 HTTP 기반으로 이루어져 있기 때문에 단순히 HTTP 헤더를 검사하던 웹 방화벽 방식에서 한층 더 나갈 필요가 있다.Recently, since most network services are based on HTTP, there is a need to go further than the web firewall method that simply inspects HTTP headers.

일 실시예에 따른 전자 장치 및 이에 의한 HTTP 트래픽의 분석 방법은 여러 서비스 프로바이더의 HTTP 메시지를 효과적으로 분석하는 것을 목적으로 한다.The purpose of an electronic device and a method of analyzing HTTP traffic using the same according to an embodiment is to effectively analyze HTTP messages from various service providers.

또한, 일 실시예에 따른 전자 장치 및 이에 의한 HTTP 트래픽의 분석 방법은 HTTP 메시지 내의 컨텐츠를 추출 및 분석함으로써, 개인 정보 및 기업 정보가 유출되는 것을 방지하는 것을 목적으로 한다.Additionally, an electronic device and a method of analyzing HTTP traffic using the same according to an embodiment aim to prevent personal information and corporate information from being leaked by extracting and analyzing content within an HTTP message.

본 발명의 해결 과제는 이상에서 언급된 것에 한정되지 않으며, 언급되지 아니한 다른 해결 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to those mentioned above, and other problems not mentioned can be clearly understood by those skilled in the art from the description below.

일 실시예에 따른 전자 장치에 의한 HTTP 트래픽의 분석 방법은, HTTP(HyperText Transfer Protocol) 메시지의 헤더(header)로부터 호스트(host) 정보, URL(Uniform Resource Locator) 정보 및 메쏘드(method) 정보 중 적어도 하나를 포함하는 헤더 정보를 추출하는 단계; 복수의 파싱 툴 중 상기 추출된 헤더 정보에 대응하는 파싱 툴을 선택하는 단계; 및 상기 선택된 파싱 툴에 대응하는 파싱 룰에 따라 상기 HTTP 메시지의 바디(body)로부터 컨텐츠를 추출하는 단계를 포함할 수 있다.A method of analyzing HTTP traffic by an electronic device according to an embodiment includes at least one of host information, URL (Uniform Resource Locator) information, and method information from the header of an HTTP (HyperText Transfer Protocol) message. extracting header information including one; selecting a parsing tool corresponding to the extracted header information from among a plurality of parsing tools; And it may include extracting content from the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool.

일 실시예에서, 상기 복수의 파싱 툴 각각에 대해 서로 다른 파싱 룰이 설정될 수 있다.In one embodiment, different parsing rules may be set for each of the plurality of parsing tools.

일 실시예에서, 상기 파싱 룰은, 하나 이상의 키를 포함하고, 상기 추출하는 단계는, 상기 컨텐츠에서 상기 하나 이상의 키에 대응하는 텍스트를 식별하는 단계; 및 상기 식별된 텍스트의 밸류를 추출하는 단계를 포함할 수 있다.In one embodiment, the parsing rule includes one or more keys, and the extracting step includes: identifying text corresponding to the one or more keys in the content; And it may include extracting the value of the identified text.

일 실시예에서, 상기 파싱 룰은, 처리 옵션을 더 포함하고, 상기 HTTP 트래픽의 분석 방법은, 상기 추출된 밸류를 상기 처리 옵션에 따라 처리하는 단계를 더 포함할 수 있다.In one embodiment, the parsing rule further includes a processing option, and the method of analyzing HTTP traffic may further include processing the extracted value according to the processing option.

일 실시예에서, 상기 처리 옵션은, 상기 밸류를 출력하는 옵션, 상기 밸류가 특정의 문자열이면, 이를 지정된 다른 문자열로 변환하여 출력하는 옵션, 상기 밸류를 구분자로 분할하고, 분할된 밸류들을 어레이 형식으로 저장하는 옵션, 또는 상기 밸류를 regex(regular expression) 문법을 통해 추출하는 옵션을 포함할 수 있다.In one embodiment, the processing options include an option to output the value, if the value is a specific string, an option to convert it to another specified string and output it, split the value with a delimiter, and format the divided values into an array format. It may include an option to save the value, or an option to extract the value through regex (regular expression) grammar.

일 실시예에서, 상기 HTTP 트래픽의 분석 방법은, 상기 컨텐츠가 인코딩되어 있는 경우, 상기 컨텐츠의 인코딩 방식에 대응하는 디코딩 방식에 따라 상기 인코딩된 컨텐츠를 디코딩하는 단계를 더 포함할 수 있다.In one embodiment, the method for analyzing HTTP traffic may further include, when the content is encoded, decoding the encoded content according to a decoding method corresponding to the encoding method of the content.

일 실시예에서, 상기 HTTP 트래픽의 분석 방법은, 상기 추출된 컨텐츠를 디스플레이를 통해 출력하는 단계를 더 포함할 수 있다.In one embodiment, the method of analyzing HTTP traffic may further include outputting the extracted content through a display.

일 실시예에서, 상기 HTTP 메시지는, 클라이언트 기기와 서버 사이에서 송수신되는 메시지이며, 상기 HTTP 트래픽의 분석 방법은, 상기 추출된 컨텐츠가 유출 방지 컨텐츠에 해당하는 경우, 상기 클라이언트 기기와 서버 사이에서 송수신되는 메시지를 차단하는 단계를 더 포함할 수 있다.In one embodiment, the HTTP message is a message transmitted and received between a client device and a server, and the method of analyzing the HTTP traffic includes, when the extracted content corresponds to leak prevention content, a message transmitted and received between the client device and the server. A step of blocking messages may be further included.

일 실시예에서, 상기 HTTP 메시지가 번역과 관련된 요청인 경우, 상기 파싱 룰에 따라 상기 바디로부터 번역의 대상이 되는 텍스트, 및 번역 후의 텍스트가 어느 나라의 언어인지를 나타내는 정보가 상기 컨텐츠로서 추출되고, 상기 HTTP 메시지가 번역과 관련된 응답인 경우, 상기 파싱 룰에 따라 상기 바디로부터 번역 결과에 해당하는 텍스트, 및 번역의 대상이 되는 텍스트가 어느 나라의 언어인지를 나타내는 정보가 상기 컨텐츠로서 추출될 수 있다.In one embodiment, when the HTTP message is a request related to translation, the text to be translated from the body according to the parsing rule, and information indicating the language of which country the text after translation is extracted as the content , If the HTTP message is a response related to translation, the text corresponding to the translation result from the body according to the parsing rule, and information indicating the language of which country the text to be translated is can be extracted as the content. there is.

일 실시예에서, 상기 HTTP 메시지가 메일 전송과 관련된 요청인 경우, 상기 파싱 룰에 따라 상기 바디로부터 발신인 정보, 수신인 정보, 메일의 제목 및 메일의 내용이 상기 컨텐츠로서 추출될 수 있다.In one embodiment, when the HTTP message is a request related to mail transmission, sender information, recipient information, mail title, and mail content may be extracted from the body according to the parsing rule as the content.

일 실시예에 따른 전자 장치는 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션에 따라 동작하는 프로세서를 포함하되, 상기 프로세서는, HTTP(HyperText Transfer Protocol) 메시지의 헤더(header)로부터 호스트(host) 정보, URL(Uniform Resource Locator) 정보 및 메쏘드(method) 정보 중 적어도 하나를 포함하는 헤더 정보를 추출하고, 복수의 파싱 툴 중 상기 추출된 헤더 정보에 대응하는 파싱 툴을 선택하고, 상기 선택된 파싱 툴에 대응하는 파싱 룰에 따라 상기 HTTP 메시지의 바디(body)로부터 컨텐츠를 추출할 수 있다.An electronic device according to an embodiment includes a memory that stores one or more instructions; And a processor operating according to the one or more instructions, wherein the processor receives host information, URL (Uniform Resource Locator) information, and method information from the header of the HTTP (HyperText Transfer Protocol) message. extract header information including at least one of the following, select a parsing tool corresponding to the extracted header information among a plurality of parsing tools, and extract the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool. Content can be extracted from .

일 실시예에서, 상기 복수의 파싱 툴 각각에 대해 서로 다른 파싱 룰이 설정될 수 있다.In one embodiment, different parsing rules may be set for each of the plurality of parsing tools.

일 실시예에서, 상기 파싱 룰은, 하나 이상의 키를 포함하고, 상기 전자 장치는, 상기 컨텐츠에서 상기 하나 이상의 키에 대응하는 텍스트를 식별하고, 상기 식별된 텍스트의 밸류를 추출할 수 있다.In one embodiment, the parsing rule includes one or more keys, and the electronic device can identify text corresponding to the one or more keys in the content and extract the value of the identified text.

일 실시예에서, 상기 파싱 룰은, 처리 옵션을 더 포함하고, 상기 전자 장치는, 상기 추출된 밸류를 상기 처리 옵션에 따라 처리할 수 있다.In one embodiment, the parsing rule further includes a processing option, and the electronic device can process the extracted value according to the processing option.

일 실시예에 따른 전자 장치 및 이에 의한 HTTP 트래픽의 분석 방법은 여러 서비스 프로바이더의 HTTP 메시지를 효과적으로 분석할 수 있다.An electronic device and a method for analyzing HTTP traffic using the same according to an embodiment can effectively analyze HTTP messages from multiple service providers.

또한, 일 실시예에 따른 전자 장치 및 이에 의한 HTTP 트래픽의 분석 방법은 HTTP 메시지 내의 컨텐츠를 추출 및 분석함으로써, 개인 정보 및 기업 정보가 유출되는 것을 방지할 수 있다.Additionally, an electronic device and a method of analyzing HTTP traffic using the same according to an embodiment can prevent personal information and corporate information from being leaked by extracting and analyzing content within an HTTP message.

본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 일 실시예에 따른 클라이언트 기기, 서버, 및 HTTP 트래픽의 분석을 위한 전자 장치를 도시하는 도면이다.
도 2는 일 실시예에 따른 전자 장치에 의한 HTTP 트래픽의 분석 방법을 나타내는 순서도이다.
도 3은 일 실시예에 따른 헤더 정보와 파싱 툴 사이의 대응 관계를 도시하는 표이다.
도 4는 일 실시예에 따른 HTTP 메시지를 도시하는 도면이다.
도 5는 도 4에 도시된 HTTP 메시지로부터 헤더 정보를 추출하기 위한 필터 룰, 및 필터 룰에 따라 추출된 헤더 정보를 예시하는 도면이다.
도 6은 파싱 룰에 따라 도 4에 도시된 HTTP 메시지의 바디로부터 컨텐츠를 추출하는 방법을 설명하기 위한 예시적인 도면이다.
도 7은 도 6에 도시된 파싱 과정을 통해 추출된 컨텐츠를 예시하는 도면이다.
도 8은 파싱 룰에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출하는 방법을 설명하기 위한 예시적인 도면이다.
도 9는 도 8에 도시된 파싱 과정을 통해 추출된 컨텐츠를 예시하는 도면이다.
도 10은 일 실시예에 따른 HTTP 메시지를 도시하는 도면이다.
도 11은 도 10에 도시된 HTTP 메시지로부터 헤더 정보를 추출하기 위한 필터 룰, 및 필터 룰에 따라 추출된 헤더 정보를 예시하는 도면이다.
도 12는 도 10에 도시된 HTTP 메시지로부터 컨텐츠를 추출하기 위한 필터 룰을 예시하는 도면이다.
도 13은 도 10에 도시된 HTTP 메시지의 바디를 나타내는 도면이다.
도 14는 도 12에 도시된 필터 룰에 따라 도 13에 도시된 HTTP 메시지의 바디로부터 추출된 컨텐츠를 예시하는 도면이다.
도 15는 일 실시예에 따른 전자 장치의 구성을 도시하는 블록도이다.
FIG. 1 is a diagram illustrating a client device, a server, and an electronic device for analyzing HTTP traffic, according to an embodiment.
Figure 2 is a flowchart showing a method of analyzing HTTP traffic by an electronic device according to an embodiment.
Figure 3 is a table showing the correspondence between header information and a parsing tool according to an embodiment.
Figure 4 is a diagram illustrating an HTTP message according to one embodiment.
FIG. 5 is a diagram illustrating a filter rule for extracting header information from the HTTP message shown in FIG. 4 and header information extracted according to the filter rule.
FIG. 6 is an exemplary diagram illustrating a method of extracting content from the body of the HTTP message shown in FIG. 4 according to a parsing rule.
FIG. 7 is a diagram illustrating content extracted through the parsing process shown in FIG. 6.
Figure 8 is an example diagram for explaining a method of extracting content from the body of an HTTP message according to parsing rules.
FIG. 9 is a diagram illustrating content extracted through the parsing process shown in FIG. 8.
Figure 10 is a diagram illustrating an HTTP message according to one embodiment.
FIG. 11 is a diagram illustrating a filter rule for extracting header information from the HTTP message shown in FIG. 10, and header information extracted according to the filter rule.
FIG. 12 is a diagram illustrating a filter rule for extracting content from the HTTP message shown in FIG. 10.
FIG. 13 is a diagram showing the body of the HTTP message shown in FIG. 10.
FIG. 14 is a diagram illustrating content extracted from the body of the HTTP message shown in FIG. 13 according to the filter rule shown in FIG. 12.
Figure 15 is a block diagram showing the configuration of an electronic device according to an embodiment.

본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present disclosure can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail through detailed description. However, this is not intended to limit the embodiments of the present disclosure, and the present disclosure should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the various embodiments.

실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the embodiments, if it is determined that detailed descriptions of related known technologies may unnecessarily obscure the gist of the present disclosure, the detailed descriptions will be omitted. In addition, numbers (eg, first, second, etc.) used in the description of the specification are merely identifiers to distinguish one component from another component.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in this specification, when a component is referred to as "connected" or "connected" to another component, the component may be directly connected or directly connected to the other component, but specifically Unless there is a contrary description, it should be understood that it may be connected or connected through another component in the middle.

또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, in this specification, components expressed as 'unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more components for each more detailed function. It may be differentiated into In addition, each of the components described below may additionally perform some or all of the functions of other components in addition to the main functions that each component is responsible for, and some of the main functions of each component may be different from other components. Of course, it can also be performed exclusively by a component.

도 1은 일 실시예에 따른 클라이언트 기기(10), 서버(20), 및 HTTP 트래픽의 분석을 위한 전자 장치(100)를 도시하는 도면이다.FIG. 1 is a diagram illustrating a client device 10, a server 20, and an electronic device 100 for analyzing HTTP traffic, according to an embodiment.

도 1을 참조하면, 클라이언트 기기(10)와 서버(20)는 네트워크를 통해 HTTP 메시지(30)를 송수신할 수 있다. Referring to FIG. 1, the client device 10 and the server 20 can transmit and receive an HTTP message 30 through a network.

일 실시예에서, 클라이언트 기기(10)는 네트워크를 통해 서버(20)와 연결될 수 있는 스마트폰, 데스크탑 PC, 노트북, 태블릿 PC, 서버 등의 다양한 종류의 기기를 포함할 수 있다. In one embodiment, the client device 10 may include various types of devices such as smartphones, desktop PCs, laptops, tablet PCs, and servers that can be connected to the server 20 through a network.

일 실시예에서, 네트워크는 유선 네트워크와 무선 네트워크를 포함할 수 있다. 예를 들어, 네트워크는 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등의 다양한 네트워크를 포함할 수 있다. 또한, 네트워크는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 개시의 실시예에 따른 네트워크는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크나 공지의 전화 네트워크, 공지의 유무선 텔레비전 네트워크를 적어도 일부로 포함할 수도 있다.In one embodiment, the network may include a wired network and a wireless network. For example, the network may include various networks such as a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN). Additionally, the network may include the known World Wide Web (WWW). However, the network according to the embodiment of the present disclosure is not limited to the networks listed above, and may include at least some of a known wireless data network, a known telephone network, and a known wired and wireless television network.

클라이언트 기기(10)와 서버(20) 사이에서 송수신되는 HTTP 메시지(30)는 HTTP 요청(request) 또는 HTTP 응답(response)일 수 있다. 예를 들어, 클라이언트 기기(10)는 HTTP 요청을 서버(20)로 전송하고, 서버(20)는 HTTP 요청에 따라 HTTP 응답을 생성하여 클라이언트 기기(10)로 전송할 수 있다.The HTTP message 30 transmitted and received between the client device 10 and the server 20 may be an HTTP request or an HTTP response. For example, the client device 10 may transmit an HTTP request to the server 20, and the server 20 may generate an HTTP response according to the HTTP request and transmit it to the client device 10.

전자 장치(100)는 클라이언트 기기(10)와 서버(20) 사이에서 송수신되는 HTTP 메시지(30)를 획득하고, HTTP 메시지(30)에 대한 파싱 과정을 통해 헤더 정보 및 컨텐츠를 추출할 수 있다. The electronic device 100 may acquire the HTTP message 30 transmitted and received between the client device 10 and the server 20 and extract header information and content through a parsing process for the HTTP message 30.

후술하는 바와 같이, 헤더 정보는 호스트(Host) 정보, URL(Uniform Resource Locator) 정보 및 메쏘드(Method) 정보 중 적어도 하나를 포함할 수 있다. 헤더 정보는 HTTP 메시지(30)의 헤더에 포함되고, 컨텐츠는 HTTP 메시지(30)의 바디에 포함될 수 있다.As will be described later, header information may include at least one of host information, URL (Uniform Resource Locator) information, and method information. Header information may be included in the header of the HTTP message 30, and content may be included in the body of the HTTP message 30.

HTTP 메시지(30)에 대해 좀더 구체적으로 설명하면, HTTP 메시지(30)는 하드웨어 정보를 가지고 있는 Layer 2, IP 정보를 가지고 있는 Layer 3, 포트 정보를 가지고 있는 Layer 4, 및 HTTP 와 같은 프로토콜 정보를 가지고 있는 Layer 7로 구분될 수 있으며, Layer 7 프로토콜의 헤더를 분석하고 나면 비로소 이메일, 채팅, 파일 등의 정보를 가진 컨텐츠의 추출이 가능해진다. To explain the HTTP message 30 in more detail, the HTTP message 30 includes Layer 2 with hardware information, Layer 3 with IP information, Layer 4 with port information, and protocol information such as HTTP. It can be divided into Layer 7, and after analyzing the header of the Layer 7 protocol, it is possible to extract content containing information such as email, chat, and files.

Layer 2 내지 Layer 7까지는 공용으로 사용되는 프로토콜이기 때문에 정보의 추출이 비교적 쉽지만, 컨텐츠는 서버(20)가 자체적으로 구현한 것이기 때문에 표준 문서가 존재하지 않으며, 따라서 알려진 파싱 툴 또한 존재하지 않는다. 어떤 서버(20)는 json(JavaScript Object Notation)으로, 어떤 서버(20)는 xml(eXtensible Markup Language)로, 어떤 서버(20)는 MIME(Multipurpose Internet Mail Extensions)로 컨텐츠를 표현하기 때문에 다양한 종류의 HTTP 메시지(30)로부터 컨텐츠를 추출하기는 어렵다.Since Layer 2 to Layer 7 are commonly used protocols, it is relatively easy to extract information. However, since the content is implemented by the server 20 itself, there is no standard document, and therefore, no known parsing tool exists. Some servers 20 express content in json (JavaScript Object Notation), some servers 20 express content in xml (eXtensible Markup Language), and some servers 20 express content in MIME (Multipurpose Internet Mail Extensions), so various types of It is difficult to extract content from the HTTP message 30.

본 개시의 일 실시예에 따른 전자 장치(100)는 후술하는 필터 룰 및 파싱 룰을 통해 다양한 서버(20)의 HTTP 메시지(30)로부터 컨텐츠를 추출할 수 있다. 일 실시예에 따른 전자 장치(100)의 동작에 대해 도 2 내지 도 15를 참조하여 설명한다.The electronic device 100 according to an embodiment of the present disclosure may extract content from the HTTP message 30 of various servers 20 through filter rules and parsing rules, which will be described later. The operation of the electronic device 100 according to one embodiment will be described with reference to FIGS. 2 to 15.

도 2는 일 실시예에 따른 전자 장치(100)에 의한 HTTP 트래픽의 분석 방법을 나타내는 순서도이다.FIG. 2 is a flowchart showing a method of analyzing HTTP traffic by the electronic device 100 according to an embodiment.

S210 단계에서, 전자 장치(100)는 HTTP 메시지의 헤더로부터 호스트 정보, URL 정보 및 메쏘드 정보 중 적어도 하나를 포함하는 헤더 정보를 추출한다.In step S210, the electronic device 100 extracts header information including at least one of host information, URL information, and method information from the header of the HTTP message.

일 실시예에서, 전자 장치(100)는 네트워크를 통해 송수신되는 HTTP 패킷을 조합하여 HTTP 메시지를 획득할 수 있다.In one embodiment, the electronic device 100 may obtain an HTTP message by combining HTTP packets transmitted and received over a network.

호스트는 네트워크에 연결된 장치 또는 서버들에 부여되는 고유한 식별 정보일 수 있다. 또한, URL은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약으로 흔히 웹 주소 또는 인터넷 주소로 참조될 수 있다. 메쏘드는 클라이언트가 서버로 전송하는 요청의 목적이나 종류를 나타낼 수 있다.Host may be unique identification information given to devices or servers connected to a network. Additionally, URL is a protocol for indicating where a resource is located on a network and can often be referred to as a web address or Internet address. A method can indicate the purpose or type of request sent by the client to the server.

일 실시예에서, 전자 장치(100)는 HTTP 프로토콜 규격에 따른 파싱을 통해 헤더로부터 헤더 정보를 추출할 수 있다.In one embodiment, the electronic device 100 may extract header information from the header through parsing according to the HTTP protocol standard.

S220 단계에서, 전자 장치(100)는 복수의 파싱 툴 중 HTTP 메시지의 헤더로부터 추출된 헤더 정보에 대응하는 파싱 툴을 선택한다.In step S220, the electronic device 100 selects a parsing tool corresponding to header information extracted from the header of the HTTP message among a plurality of parsing tools.

일 실시예에서, 복수의 파싱 툴은, JSON(JavaScript Object Notation), MIME(Multipurpose Internet Mail Extensions), XML(eXtensible Markup Language), HTTP_Header 및 HTTP_FORM_Encoded를 포함할 수 있다. 그러나, 이는 하나의 예시일 뿐, 전자 장치(100)는 공지된 다양한 종류의 파싱 툴들을 이용할 수 있다.In one embodiment, the plurality of parsing tools may include JavaScript Object Notation (JSON), Multipurpose Internet Mail Extensions (MIME), eXtensible Markup Language (XML), HTTP_Header, and HTTP_FORM_Encoded. However, this is only one example, and the electronic device 100 may use various types of known parsing tools.

상기 예시된 파싱 툴들에 대해 간략히 설명하면, JSON은 {key:value}와 같은 형식으로 컨텐츠를 표현하고, MIME은 ---boundary로 멀티 데이터를 전송하고, key:value;와 같은 형식으로 컨텐츠를 표현하며, newline 을 구분자로 쓴다.Briefly explaining the parsing tools illustrated above, JSON expresses content in a format such as {key:value}, MIME transmits multi-data with ---boundary, and presents content in a format such as key:value; Expressed using newline as a separator.

또한, XML은 <key>value</key> 같은 형식으로 컨텐츠를 표현하고, HTTP_Header는 key:value 와 같은 형식으로 컨텐츠를 표현하고, newline을 구분자로 쓴다. 또한, HTTP_FORM_Encoded은 key=value 와 같은 형식으로 컨텐츠를 표현하고, & 을 구분자로 쓴다.Additionally, XML expresses content in a format such as <key>value</key>, HTTP_Header expresses content in a format such as key:value, and uses newline as a delimiter. Additionally, HTTP_FORM_Encoded expresses content in the format of key=value and uses & as a separator.

전자 장치(100)는 여러 헤더 정보와 여러 파싱 툴 사이의 대응 관계를 미리 저장하고 있을 수 있다. 전자 장치(100)는 HTTP 메시지로부터 추출된 헤더 정보에 대응하는 파싱 툴을 미리 저장된 대응 관계에 기반하여 선택할 수 있다.The electronic device 100 may store in advance the correspondence between various header information and various parsing tools. The electronic device 100 may select a parsing tool corresponding to header information extracted from the HTTP message based on a pre-stored correspondence relationship.

전자 장치(100)가 헤더 정보에 기초하여 파싱 툴을 선택하는 방법에 대해 도 3을 참조하여 설명한다.A method by which the electronic device 100 selects a parsing tool based on header information will be described with reference to FIG. 3 .

도 3은 일 실시예에 따른 헤더 정보와 파싱 툴 사이의 대응 관계를 도시하는 표이다.Figure 3 is a table showing the correspondence between header information and a parsing tool according to an embodiment.

도 3을 참조하면, 호스트가 "www.abc.com"이고, URL이 "/translatev3"이고, 메쏘드가 "post"라면, HTTP 요청에 대해 HTTP_FORM_Encoded가 선택되고, HTTP 응답에 대해 JSON이 선택될 수 있다. 즉, 일 실시예에서, 특정의 헤더 정보에 따라 HTTP 요청 내 컨텐츠를 추출하기 위한 파싱 툴과 HTTP 응답 내 컨텐츠를 추출하기 위한 파싱 툴이 서로 다르게 선택될 수 있다.Referring to Figure 3, if the host is "www.abc.com", the URL is "/translatev3", and the method is "post", HTTP_FORM_Encoded may be selected for the HTTP request and JSON may be selected for the HTTP response. there is. That is, in one embodiment, a parsing tool for extracting content within an HTTP request and a parsing tool for extracting content within an HTTP response may be selected differently depending on specific header information.

다음으로, 호스트가 "www.aab.com"이고, URL이 "/v2/mails"이고, 메쏘드가 "post"인 경우, HTTP 요청 및 HTTP 응답을 위해 MIME가 선택될 수 있다. 또한, 호스트가 "www.aab.com"이고, URL이 "/v2/mails"이고, 메쏘드가 "delete"인 경우, HTTP 요청 및 HTTP 응답을 위해 XML이 선택될 수 있다. 즉, 어느 하나의 HTTP 메시지의 헤더로부터 추출된 헤더 정보와 다른 하나의 HTTP 메시지의 헤더로부터 추출된 헤더 정보에서, 호스트와 URL이 동일하더라도 메쏘드가 상이한 경우, 어느 하나의 HTTP 메시지와 다른 하나의 HTTP 메시지를 위해 서로 다른 파싱 툴이 선택될 수 있다. Next, if the host is "www.aab.com", the URL is "/v2/mails", and the method is "post", MIME can be selected for the HTTP request and HTTP response. Additionally, when the host is "www.aab.com", the URL is "/v2/mails", and the method is "delete", XML may be selected for the HTTP request and HTTP response. That is, in the header information extracted from the header of one HTTP message and the header information extracted from the header of another HTTP message, even if the host and URL are the same, if the method is different, one HTTP message and the other HTTP message Different parsing tools may be selected for the message.

마찬가지로, 어느 하나의 HTTP 메시지의 헤더로부터 추출된 헤더 정보와 다른 하나의 HTTP 메시지의 헤더로부터 추출된 헤더 정보에서, 호스트와 메쏘드가 동일하더라도 URL이 상이한 경우, 어느 하나의 HTTP 메시지와 다른 하나의 HTTP 메시지를 위해 서로 다른 파싱 툴이 선택될 수 있다.Similarly, in the header information extracted from the header of one HTTP message and the header information extracted from the header of another HTTP message, even if the host and method are the same, if the URL is different, one HTTP message and the other HTTP message Different parsing tools may be selected for the message.

다시 도 2를 참조하면, S230 단계에서, 전자 장치(100)는 S220 단계에서 선택된 파싱 툴에 대응하는 파싱 룰에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출한다.Referring again to FIG. 2, in step S230, the electronic device 100 extracts content from the body of the HTTP message according to a parsing rule corresponding to the parsing tool selected in step S220.

전자 장치(100)가 이용할 수 있는 복수의 파싱 툴 각각에 대해 서로 다른 파싱 룰이 설정될 수 있다. 파싱 룰은 HTTP 메시지의 바디로부터 컨텐츠를 추출할 때, 추출하고자 하는 컨텐츠의 키(key), 처리 옵션 등을 파싱 툴의 문법에 따라 규정한 규칙으로 참조할 수 있다.Different parsing rules may be set for each of the plurality of parsing tools that the electronic device 100 can use. When extracting content from the body of an HTTP message, the parsing rule can refer to the key of the content to be extracted, processing options, etc. as rules defined according to the grammar of the parsing tool.

즉, 전자 장치(100)는 파싱 룰에 정의되어 있는 키 및 파싱 툴의 문법에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출할 수 있다.That is, the electronic device 100 can extract content from the body of the HTTP message according to the grammar of the key and parsing tool defined in the parsing rule.

일 실시예에서, 복수의 파싱 툴 중 어느 하나의 파싱 툴을 선택하기 위한 규칙을 필터 룰로 참조할 수 있고, 필터 룰에 따라 선택된 파싱 툴에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출하기 위한 규칙을 파싱 룰로 참조할 수 있다. 즉, 일 실시예에 따른 전자 장치(100)는 필터 룰과 파싱 룰에 기반하여 다양한 서비스의 HTTP 메시지를 효과적으로 파싱할 수 있다.In one embodiment, the rule for selecting one of a plurality of parsing tools may be referred to as a filter rule, and the rule for extracting content from the body of the HTTP message according to the parsing tool selected according to the filter rule is parsed. It can be referenced as a rule. That is, the electronic device 100 according to one embodiment can effectively parse HTTP messages of various services based on filter rules and parsing rules.

도 4는 일 실시예에 따른 HTTP 메시지(400)를 도시하는 도면이고, 도 5는 도 4에 도시된 HTTP 메시지(400)로부터 헤더 정보를 추출하기 위한 필터 룰, 및 필터 룰에 따라 추출된 헤더 정보를 예시하는 도면이다.FIG. 4 is a diagram illustrating an HTTP message 400 according to an embodiment, and FIG. 5 shows a filter rule for extracting header information from the HTTP message 400 shown in FIG. 4, and a header extracted according to the filter rule. This is a drawing illustrating information.

도 4를 참조하면, HTTP 메시지(400)는 헤더(410)와 바디(430)를 포함할 수 있다.Referring to FIG. 4, the HTTP message 400 may include a header 410 and a body 430.

헤더(410)에는 호스트(416), 메쏘드(412) 및 URL(414)에 대한 정보가 포함될 수 있고, 바디(430)에는 컨텐츠가 포함될 수 있다.The header 410 may include information about the host 416, method 412, and URL 414, and the body 430 may include content.

전술한 바와 같이, 전자 장치(100)는 컨텐츠를 추출하기 위한 파싱 툴을 선택하기 위해 필터 룰에 따라 헤더(410)로부터 헤더 정보를 추출할 수 있다.As described above, the electronic device 100 may extract header information from the header 410 according to a filter rule to select a parsing tool for extracting content.

도 5를 참조하면, "http_host"에 대한 밸류(value)인 "www.bing.com"(516)이 호스트로 추출되고, "http_path"에 대한 밸류인 "/ttranslatev3?"(514)가 URL로 추출될 수 있다. 그리고, "http_method"에 대한 밸류인 "POST"(512)가 메쏘드로 추출될 수 있다.Referring to Figure 5, "www.bing.com" (516), which is the value for "http_host", is extracted as a host, and "/ttranslatev3?" (514), which is the value for "http_path", is extracted as a URL. can be extracted. And, “POST” (512), the value for “http_method”, can be extracted as a method.

전술한 바와 같이, 전자 장치(100)는 복수의 파싱 툴 중 "www.bing.com" (516), "/ttranslatev3?"(514) 및 "POST"(512)에 대응하는 파싱 툴을 선택할 수 있다.As described above, the electronic device 100 may select a parsing tool corresponding to “www.bing.com” (516), “/ttranslatev3?” (514), and “POST” (512) among a plurality of parsing tools. there is.

도 6은 파싱 룰(600)에 따라 도 4에 도시된 HTTP 메시지(400)의 바디(430)로부터 컨텐츠를 추출하는 방법을 설명하기 위한 예시적인 도면이다.FIG. 6 is an exemplary diagram illustrating a method of extracting content from the body 430 of the HTTP message 400 shown in FIG. 4 according to a parsing rule 600.

HTTP 메시지(400)의 헤더(410)로부터 추출된 헤더 정보에 대응하는 파싱 툴이 선택되면, 선택된 파싱 툴에 대응하는 파싱 룰(600)이 식별될 수 있다. 전자 장치(100)는 파싱 룰(600)에 따라 HTTP 메시지(400)의 바디(430)로부터 컨텐츠를 추출할 수 있다.When a parsing tool corresponding to header information extracted from the header 410 of the HTTP message 400 is selected, a parsing rule 600 corresponding to the selected parsing tool may be identified. The electronic device 100 may extract content from the body 430 of the HTTP message 400 according to the parsing rule 600.

도 6을 참조하면, 파싱 룰(600)은 해당 파싱 룰(600)이 HTTP 요청에 대한 것임을 나타내는 정보(611), 해당 파싱 룰(600)이 form_data 파싱 툴에 대해 설정된 것임을 나타내는 정보(612)를 포함할 수 있다.Referring to FIG. 6, the parsing rule 600 includes information 611 indicating that the parsing rule 600 is for an HTTP request, and information 612 indicating that the parsing rule 600 is set for the form_data parsing tool. It can be included.

또한, 파싱 룰(600)에는 HTTP 메시지(400)의 바디(430)로부터 추출되어야 할 컨텐츠를 나타내는 하나 이상의 키(614, 616), 및 하나 이상의 키(614, 616)에 대응하는 밸류의 처리 옵션(613, 615)을 포함할 수 있다.In addition, the parsing rule 600 includes one or more keys 614 and 616 indicating content to be extracted from the body 430 of the HTTP message 400, and processing options for values corresponding to the one or more keys 614 and 616. It may include (613, 615).

구체적으로, 파싱 룰(600)에는 키로서, "text"(614)와 "to"(616)가 포함될 수 있다. "text"(614)는 번역 전의 원문 텍스트를 추출하기 위한 키이고, "to"(616)는 번역 후의 언어가 어느 나라의 언어인지를 나타내는 정보를 추출하기 위한 키일 수 있다.Specifically, the parsing rule 600 may include “text” 614 and “to” 616 as keys. “Text” (614) may be a key for extracting the original text before translation, and “to” (616) may be a key for extracting information indicating which country the language after translation is from.

또한, 파싱 룰(600)에는 "text"(614)에 대응하는 밸류의 처리 옵션으로 "key_only"(613)가 설정되어 있고, "to"(616)에 대응하는 밸류의 처리 옵션으로 "country_type"(615)이 설정되어 있다.Additionally, in the parsing rule 600, “key_only” (613) is set as the value processing option corresponding to “text” (614), and “country_type” is set as the value processing option corresponding to “to” (616). (615) is set.

키에 대응하는 밸류는 처리 옵션에 따라 처리될 수 있다. 예를 들어, 처리 옵션은 밸류를 출력하는 옵션, 밸류가 특정의 문자열이면, 이를 지정된 다른 문자열로 변환하여 출력하는 옵션, 밸류를 구분자로 분할하고, 분할된 밸류들을 어레이 형식으로 저장하는 옵션, 또는 밸류를 regex(regular expression) 문법을 통해 추출하는 옵션 등을 포함할 수 있다.The value corresponding to the key may be processed according to processing options. For example, processing options include options to output a value, if the value is a specific string, an option to convert it to another specified string and output it, an option to split the value with a delimiter and store the split values in an array format, or It can include options to extract values through regex (regular expression) grammar.

파싱 룰(600)에 "text"(614)와 "to"(616)가 키로 포함되어 있는 경우, 전자 장치(100)는 HTTP 메시지(400)의 바디(430)에서 "text"(614)와 "to"(616)에 대응하는 텍스트(622, 624)를 식별하고, 식별된 텍스트(622, 624)의 밸류(623, 625)를 HTTP 메시지(400)의 컨텐츠로 획득할 수 있다.If the parsing rule 600 includes “text” 614 and “to” 616 as keys, the electronic device 100 uses “text” 614 and “text” 614 in the body 430 of the HTTP message 400. The texts 622 and 624 corresponding to “to” 616 can be identified, and the values 623 and 625 of the identified texts 622 and 624 can be obtained as the content of the HTTP message 400.

도 6에 도시된 HTTP 메시지(400)의 바디(430)에서 "text"(622)에 대응하는 밸류(623)는 인코딩되어 있으므로, 전자 장치(100)는 해당 밸류(623)를 디코딩하여 원래의 밸류를 획득할 수 있다.Since the value 623 corresponding to “text” 622 in the body 430 of the HTTP message 400 shown in FIG. 6 is encoded, the electronic device 100 decodes the value 623 and returns the original Value can be obtained.

도 7은 HTTP 메시지의 컨텐츠에 대한 추출 결과(700)를 도시하고 있는데, 도 7에 도시된 바와 같이, 전자 장치(100)는 파싱 룰(600)에 포함된 "text"(614)에 대응하는 밸류(710)("저는 한영호입니다. ~")와 "to"(616)에 대응하는 밸류(720)("ja")를 획득할 수 있다.FIG. 7 shows an extraction result 700 for the content of an HTTP message. As shown in FIG. 7, the electronic device 100 extracts the content corresponding to “text” 614 included in the parsing rule 600. You can obtain value (720) ("ja") corresponding to value (710) ("I am Han Young-ho. ~") and "to" (616).

도 8은 파싱 룰(810)에 따라 HTTP 메시지(820)의 바디(824)로부터 컨텐츠를 추출하는 방법을 설명하기 위한 예시적인 도면이다. FIG. 8 is an exemplary diagram illustrating a method of extracting content from the body 824 of the HTTP message 820 according to the parsing rule 810.

도 8에 도시된 HTTP 메시지(820)는 도 4에 도시된 HTTP 요청에 대한 HTTP 응답일 수 있다.HTTP message 820 shown in FIG. 8 may be an HTTP response to the HTTP request shown in FIG. 4.

도 8을 참조하면, 파싱 룰(810)은 해당 파싱 룰(810)이 HTTP 응답에 대한 것임을 나타내는 정보(811), 및 해당 파싱 룰(810)이 json 파싱 툴에 대해 설정된 것임을 나타내는 정보(812)를 포함할 수 있다.Referring to FIG. 8, the parsing rule 810 includes information 811 indicating that the parsing rule 810 is for an HTTP response, and information 812 indicating that the parsing rule 810 is set for a json parsing tool. may include.

또한, 파싱 룰(810)에는 HTTP 메시지(820)의 바디(824)로부터 추출되어야 할 컨텐츠를 나타내는 하나 이상의 키(814, 816), 및 하나 이상의 키(814, 816)에 대응하는 밸류의 처리 옵션(813, 815)을 포함될 수 있다.In addition, the parsing rule 810 includes one or more keys 814 and 816 indicating content to be extracted from the body 824 of the HTTP message 820, and processing options for values corresponding to the one or more keys 814 and 816. (813, 815) may be included.

구체적으로, 파싱 룰(810)에는 키로서, "detectedlanguage"(814)와 "translations"(816)가 포함되어 있다. "detectedlanguage"(814)는 번역 전의 텍스트가 어느 나라의 언어인지를 나타내는 정보를 추출하기 위한 키일 수 있고, "translations"(816)는 번역 후의 텍스트를 추출하기 위한 키일 수 있다.Specifically, the parsing rule 810 includes “detectedlanguage” 814 and “translations” 816 as keys. “detectedlanguage” (814) may be a key for extracting information indicating the language of which country the text before translation is, and “translations” (816) may be a key for extracting the text after translation.

또한, 파싱 룰(810)에는 "detectedlanguage"(814)에 대응하는 밸류의 처리 옵션으로 "country_type"(813)이 설정되어 있고, "translations"(816)에 대응하는 밸류의 처리 옵션으로 "key_only"(815)가 설정되어 있다.Additionally, in the parsing rule 810, “country_type” (813) is set as the value processing option corresponding to “detectedlanguage” (814), and “key_only” is set as the value processing option corresponding to “translations” (816). (815) is set.

파싱 룰(810)에 "detectedlanguage"(814)와 "translations"(816)가 키로 포함되어 있는 경우, 전자 장치(100)는 HTTP 메시지(820)의 바디(824)에서 "detectedlanguage"(814)와 "translations"(816)에 대응하는 텍스트를 식별할 수 있다. 그러나, 도 8에 도시된 HTTP 메시지(820)의 바디(824)에는 "detectedlanguage"(814)와 "translations"(816)가 포함되어 있지 않는데, 이는 HTTP 메시지(820)의 바디(824) 내 키와 밸류가 모두 인코딩된 경우를 나타낸다.If the parsing rule 810 includes “detectedlanguage” 814 and “translations” 816 as keys, the electronic device 100 detects “detectedlanguage” 814 and “translations” 814 in the body 824 of the HTTP message 820. The text corresponding to "translations" (816) can be identified. However, the body 824 of the HTTP message 820 shown in Figure 8 does not include “detectedlanguage” 814 and “translations” 816, which are keys in the body 824 of the HTTP message 820. Indicates the case where both and value are encoded.

전자 장치(100)는 HTTP 메시지(820)에서 컨텐츠의 인코딩 방식을 br(Brotli) 알고리즘(822)으로 확인하고, 확인된 알고리즘에 따라 HTTP 메시지(820)의 바디(824) 내 키와 밸류를 디코딩할 수 있다. 그리고, 전자 장치(100)는 디코딩된 컨텐츠 내에서 "detectedlanguage"(814)와 "translations"(816)에 대응하는 텍스트를 식별하고, 식별된 텍스트의 밸류를 HTTP 메시지(820)의 컨텐츠로 획득할 수 있다.The electronic device 100 confirms the encoding method of the content in the HTTP message 820 using the br (Brotli) algorithm 822, and decodes the key and value in the body 824 of the HTTP message 820 according to the confirmed algorithm. can do. Then, the electronic device 100 identifies text corresponding to “detectedlanguage” (814) and “translations” (816) within the decoded content, and obtains the value of the identified text as the content of the HTTP message (820). You can.

도 9는 도 8에 도시된 파싱 과정을 통해 추출된 결과(900)를 예시하는 도면이다.FIG. 9 is a diagram illustrating a result 900 extracted through the parsing process shown in FIG. 8.

도 9에 도시된 바와 같이, 전자 장치(100)는 파싱 룰(810)에 포함된 "detectedlanguage"(814)에 대응하는 밸류("ko")(910)와 "translations"(816)에 대응하는 밸류(920)를 획득할 수 있다.As shown in FIG. 9, the electronic device 100 contains a value (“ko”) 910 corresponding to “detectedlanguage” 814 included in the parsing rule 810 and a value corresponding to “translations” 816. You can obtain value (920).

도 4 내지 도 9에 도시된 실시예들은 텍스트의 번역에 대한 HTTP 요청 및 HTTP 응답에 대한 것인데, 일 실시예에서는 파싱 룰의 설정을 통해 HTTP 요청으로부터 번역의 대상이 되는 텍스트, 및 번역 후의 텍스트가 어느 나라의 언어인지를 나타내는 정보를 추출할 수 있고, HTTP 응답으로부터 번역 결과에 해당하는 텍스트, 및 번역 전 텍스트가 어느 나라의 언어인지를 나타내는 정보를 추출할 수 있다.The embodiments shown in FIGS. 4 to 9 relate to HTTP requests and HTTP responses for text translation. In one embodiment, the text that is the target of translation from the HTTP request and the text after translation are set by setting a parsing rule. Information indicating the language of the country can be extracted, and information indicating the language of the text corresponding to the translation result and the text before translation can be extracted from the HTTP response.

즉, 번역 관련 서비스에서 핵심 컨텐츠인 번역의 전후 텍스트와 번역 전후의 언어 종류가 파싱 룰을 통해 획득될 수 있다. 파싱 룰을 설정하기에 따라 HTTP 요청 및 HTTP 응답으로부터 추출되는 컨텐츠의 종류가 다양해질 수 있음은 자명하게 이해될 수 있을 것이다.In other words, in translation-related services, the text before and after translation, which is the core content, and the language type before and after translation can be obtained through parsing rules. It can be clearly understood that the types of content extracted from HTTP requests and HTTP responses can vary depending on the settings of the parsing rules.

도 10은 일 실시예에 따른 HTTP 메시지(1000)를 도시하는 도면이고, 도 11은 도 10에 도시된 HTTP 메시지(1000)로부터 헤더 정보를 추출하기 위한 필터 룰, 및 필터 룰에 따라 추출된 헤더 정보를 예시하는 도면이다.FIG. 10 is a diagram illustrating an HTTP message 1000 according to an embodiment, and FIG. 11 shows a filter rule for extracting header information from the HTTP message 1000 shown in FIG. 10, and a header extracted according to the filter rule. This is a drawing illustrating information.

도 10은 메일 전송과 관련된 HTTP 메시지(1000)를 도시하고 있는데, HTTP 메시지(1000)는 헤더(1010)와 바디(1030)를 포함할 수 있다.Figure 10 shows an HTTP message 1000 related to mail transmission. The HTTP message 1000 may include a header 1010 and a body 1030.

헤더(1010)에는 호스트(1016), 메쏘드(1012) 및 URL(1014)에 대한 정보가 포함될 수 있고, 바디(1030)에는 컨텐츠가 포함될 수 있다.The header 1010 may include information about the host 1016, method 1012, and URL 1014, and the body 1030 may include content.

도 11을 참조하면, "http_host"에 대한 밸류인 "cmail.kakao.com"(1116)이 호스트로 추출되고, "http_path"에 대한 밸류인 "/v2/mails/send"(1114)가 URL로 추출될 수 있다. 그리고, "http_method"에 대한 밸류인 "POST"(1112)가 메쏘드로 추출될 수 있다.Referring to Figure 11, "cmail.kakao.com" (1116), which is the value for "http_host", is extracted as a host, and "/v2/mails/send" (1114), which is the value for "http_path", is extracted as a URL. can be extracted. And, “POST” (1112), which is the value for “http_method”, can be extracted as a method.

전자 장치(100)는 복수의 파싱 툴 중 "cmail.kakao.com"(1116), "/v2/mails/send"(1114) 및 "POST"(1112)에 대응하는 파싱 툴을 선택할 수 있다.The electronic device 100 may select a parsing tool corresponding to “cmail.kakao.com” (1116), “/v2/mails/send” (1114), and “POST” (1112) from among the plurality of parsing tools.

도 12는 도 10에 도시된 HTTP 메시지(1000)로부터 컨텐츠를 추출하기 위한 파싱 룰(1200)을 예시하는 도면이고, 도 13은 도 10에 도시된 HTTP 메시지(1000)의 바디(1030)를 나타내는 도면이다. 또한, 도 14는 도 12에 도시된 파싱 룰(1200)에 따라 도 13에 도시된 HTTP 메시지의 바디(1030)로부터 추출된 결과(1400)를 예시하는 도면이다.FIG. 12 is a diagram illustrating a parsing rule 1200 for extracting content from the HTTP message 1000 shown in FIG. 10, and FIG. 13 shows the body 1030 of the HTTP message 1000 shown in FIG. 10. It is a drawing. Additionally, FIG. 14 is a diagram illustrating a result 1400 extracted from the body 1030 of the HTTP message shown in FIG. 13 according to the parsing rule 1200 shown in FIG. 12.

도 12를 참조하면, 파싱 룰(1200)은 키로서, "tolist"(1210), "contents"(1240) 및 "from"(1250)을 포함할 수 있다. 또한, 파싱 룰(1200)은 "tolist"(1210)에 대한 하위 키인 "name"(1220)과 "addr"(1230), 및 "from"(1250)에 대한 하위 키인 "name"(1260)과 "addr"(1270)을 포함할 수 있다.Referring to FIG. 12, the parsing rule 1200 may include “tolist” (1210), “contents” (1240), and “from” (1250) as keys. Additionally, the parsing rule 1200 includes “name” (1220) and “addr” (1230) as subkeys for “tolist” (1210), and “name” (1260) as subkeys for “from” (1250). May include "addr" (1270).

파싱 룰에 "tolist"(1210), "contents"(1240) 및 "from"(1250)이 키로 포함되어 있는 경우, 전자 장치(100)는 HTTP 메시지(1000)의 바디(1030)에서 "tolist"(1210), "contents"(1240) 및 "from"(1250)에 대응하는 텍스트(1310, 1340, 1350)를 식별하고, 식별된 텍스트(1310, 1340, 1350)의 밸류를 HTTP 메시지(1000)의 컨텐츠로 획득할 수 있다.If the parsing rule includes “tolist” (1210), “contents” (1240), and “from” (1250) as keys, the electronic device 100 retrieves “tolist” from the body 1030 of the HTTP message 1000. (1210), identify text (1310, 1340, 1350) corresponding to "contents" (1240), and "from" (1250), and store the values of the identified text (1310, 1340, 1350) in an HTTP message (1000) It can be obtained through the contents of .

구체적으로, 전자 장치(100)는 도 13에 도시된 HTTP 메시지(1000)의 바디(1030)에서 "tolist"(1310), "contents"(1340) 및 "from"(1350)을 식별하고, "tolist"(1310), "contents"(1340) 및 "from"(1350)에 대응하는 밸류를 추출할 수 있다. 파싱 룰(1200)에는 "tolist"(1210)와 "from"(1250)의 하위 키로서 "name"(1220, 1260)과 "addr"(1230, 1270)이 설정되어 있으므로, 전자 장치(100)는 바디(1030)에서, "name"(1320, 1360)과 "addr"(1330, 1370)를 식별할 수 있다.Specifically, the electronic device 100 identifies “tolist” (1310), “contents” (1340), and “from” (1350) in the body 1030 of the HTTP message 1000 shown in FIG. 13, and “ The values corresponding to "tolist" (1310), "contents" (1340), and "from" (1350) can be extracted. Since “name” (1220, 1260) and “addr” (1230, 1270) are set as subkeys of “tolist” (1210) and “from” (1250) in the parsing rule 1200, the electronic device 100 In the body 1030, “name” (1320, 1360) and “addr” (1330, 1370) can be identified.

도 14를 참조하면, HTTP 메시지에 대한 파싱 결과(1400)로서, "contents"(1340), "tolist"(1310) 및 "from"(1350)에 대응하는 밸류들(1410, 1420, 1430, 1440, 1450)이 추출될 수 있다. 특히, "tolist"(1310)와 "from"(1350)의 밸류에는 하위 키가 포함되어 있으므로, 각각 "name"(1320, 1360)의 밸류(1420, 1450)와 "addr"(1330, 1370)의 밸류(1430, 1440)가 함께 추출될 수 있다.Referring to FIG. 14, as a parsing result 1400 for an HTTP message, values 1410, 1420, 1430, 1440 corresponding to “contents” 1340, “tolist” 1310, and “from” 1350. , 1450) can be extracted. In particular, the values of "tolist" (1310) and "from" (1350) contain subkeys, so the values of "name" (1320, 1360) (1420, 1450) and "addr" (1330, 1370), respectively. The values 1430 and 1440 can be extracted together.

도 10 내지 도 14에 도시된 실시예들은 메일의 전송을 위한 HTTP 요청에 대한 것일 수 있는데, 일 실시예에서는 파싱 룰의 설정을 통해 HTTP 요청으로부터 발신인 정보, 수신인 정보, 메일의 제목 및 메일의 내용이 추출될 수 있다.The embodiments shown in FIGS. 10 to 14 may relate to HTTP requests for sending mail. In one embodiment, sender information, recipient information, title of mail, and content of mail are retrieved from the HTTP request through setting of parsing rules. This can be extracted.

일 실시예에서, 전자 장치(100)의 분석 대상인 HTTP 메시지는, 전술한 메일 및 번역 이외에도 검색, 글쓰기, 파일 업로드, 문서 작성 등과 관련이 있을 수 있다. 이 경우, 전술한 바와 같이, 전자 장치(100)는 검색, 글쓰기, 파일 업로드, 문서 작성 등과 관련된 파싱 룰을 통해 HTTP 메시지로부터 추출되어야 하는 컨텐츠의 종류를 특정할 수 있다. 메일, 번역, 검색, 글쓰기, 파일 업로드 및 문서 작성 등은 하나의 예시일 뿐이며, HTTP 메시지는 서버(20)를 통해 이용할 수 있는 다양한 종류의 서비스와 관련이 있을 수 있다.In one embodiment, the HTTP message that is the subject of analysis by the electronic device 100 may be related to search, writing, file upload, document creation, etc. in addition to the mail and translation described above. In this case, as described above, the electronic device 100 may specify the type of content to be extracted from the HTTP message through parsing rules related to search, writing, file upload, document creation, etc. Mail, translation, search, writing, file upload, and document creation are just examples, and HTTP messages may be related to various types of services available through the server 20.

도 15는 일 실시예에 따른 전자 장치(100)의 구성을 도시하는 블록도이다.FIG. 15 is a block diagram showing the configuration of an electronic device 100 according to an embodiment.

도 15를 참조하면, 전자 장치(100)는 메모리(1510), 제어부(1530), 통신부(1570) 및 디스플레이(1550)를 포함할 수 있다.Referring to FIG. 15 , the electronic device 100 may include a memory 1510, a control unit 1530, a communication unit 1570, and a display 1550.

메모리(1510)는 하나 이상의 인스트럭션을 저장할 수 있다. 일 실시예에서, 메모리(1510)는 HTTP 메시지의 파싱을 위한 필터 룰 및 파싱 룰을 저장할 수 있다.Memory 1510 may store one or more instructions. In one embodiment, memory 1510 may store filter rules and parsing rules for parsing HTTP messages.

제어부(1530)는 메모리(1510)에 저장된 하나 이상의 인스트럭션에 따라 동작할 수 있다. 일 실시예에서, 제어부(1530)는 프로세서로 구현될 수 있다.The control unit 1530 may operate according to one or more instructions stored in the memory 1510. In one embodiment, the control unit 1530 may be implemented as a processor.

일 실시예에서, 제어부(1530)는 HTTP 메시지의 헤더로부터 호스트 정보, URL 정보 및 메쏘드 정보 중 적어도 하나를 포함하는 헤더 정보를 추출할 수 있다. 제어부(1530)는 복수의 파싱 툴 중 헤더로부터 추출된 헤더 정보에 대응하는 파싱 툴을 선택하고, 선택된 파싱 툴에 대응하는 파싱 룰에 따라 HTTP 메시지의 바디로부터 컨텐츠를 추출할 수 있다.In one embodiment, the control unit 1530 may extract header information including at least one of host information, URL information, and method information from the header of the HTTP message. The control unit 1530 may select a parsing tool corresponding to header information extracted from the header among a plurality of parsing tools and extract content from the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool.

일 실시예에서, 제어부(1530)는 HTTP 메시지의 컨텐츠가 인코딩되어 있는 경우, 컨텐츠의 인코딩 방식에 대응하는 디코딩 방식에 따라 컨텐츠를 디코딩할 수 있다.In one embodiment, when the content of the HTTP message is encoded, the control unit 1530 may decode the content according to a decoding method corresponding to the encoding method of the content.

통신부(1570)는 클라이언트 기기(10)와 서버(20) 사이에서 송수신되는 HTTP 메시지를 수신할 수 있다. 통신부(1570)는 HTTP 메시지를 제어부(1530)로 전달할 수 있다.The communication unit 1570 may receive HTTP messages transmitted and received between the client device 10 and the server 20. The communication unit 1570 may transmit an HTTP message to the control unit 1530.

일 실시예에서, 통신부(1570)는 클라이언트 기기(10)와 서버(20) 사이에서 송수신되는 HTTP 패킷들을 수신하고, 수신된 HTTP 패킷들을 조합하여 HTTP 메시지를 획득할 수도 있다.In one embodiment, the communication unit 1570 may receive HTTP packets transmitted and received between the client device 10 and the server 20 and obtain an HTTP message by combining the received HTTP packets.

디스플레이(1550)는 제어부(1530)에 의해 추출된 컨텐츠를 출력할 수 있다. 디스플레이(1550)는 파싱 룰에 포함된 처리 옵션에 따라 컨텐츠를 출력할 수도 있다.The display 1550 may output content extracted by the control unit 1530. The display 1550 may output content according to processing options included in the parsing rule.

일 실시예에서, 제어부(1530)는 HTTP 메시지로부터 추출된 컨텐츠가 미리 지정된 유출 방지 컨텐츠에 해당하면, 클라이언트 기기(10)와 서버(20) 사이에서 송수신되는 메시지를 차단함으로써 보안 정보가 유출되는 것을 방지할 수 있다.In one embodiment, if the content extracted from the HTTP message corresponds to pre-designated leak prevention content, the control unit 1530 blocks messages transmitted and received between the client device 10 and the server 20 to prevent security information from being leaked. It can be prevented.

다른 실시예에서, 제어부(1530)는 HTTP 메시지로부터 추출된 컨텐츠가 미리 지정된 유출 방지 컨텐츠에 해당하면, 통신부(1570)를 통해 관리자 단말로 보안 정보가 유출되었음을 알릴 수도 있다.In another embodiment, if the content extracted from the HTTP message corresponds to pre-designated leak prevention content, the control unit 1530 may notify the administrator terminal through the communication unit 1570 that security information has been leaked.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and the written program can be stored in a medium.

상기 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함할 수 있으나, 이에 한정되는 것은 아니다.The media may include, but is not limited to, magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.).

이상, 구체적인 실시예에 관해서 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 당해 분야에서 통상의 지식을 가진 자에게 있어서 자명하다 할 것이다.Although the specific embodiments have been described above, it will be obvious to those skilled in the art that various modifications are possible without departing from the scope of the present invention.

Claims (16)

전자 장치에 의한 HTTP 트래픽의 분석 방법에 있어서,
HTTP(HyperText Transfer Protocol) 메시지의 헤더(header)로부터 호스트(host) 정보, URL(Uniform Resource Locator) 정보 및 메쏘드(method) 정보 중 적어도 하나를 포함하는 헤더 정보를 추출하는 단계;
복수의 파싱 툴 중 상기 추출된 헤더 정보에 대응하는 파싱 툴을 선택하는 단계; 및
상기 선택된 파싱 툴에 대응하는 파싱 룰에 따라 상기 HTTP 메시지의 바디(body)로부터 컨텐츠를 추출하는 단계를 포함하는, HTTP 트래픽의 분석 방법.
In a method of analyzing HTTP traffic by an electronic device,
Extracting header information including at least one of host information, URL (Uniform Resource Locator) information, and method information from the header of an HTTP (HyperText Transfer Protocol) message;
selecting a parsing tool corresponding to the extracted header information from among a plurality of parsing tools; and
A method of analyzing HTTP traffic, comprising extracting content from the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool.
제1항에 있어서,
상기 복수의 파싱 툴 각각에 대해 서로 다른 파싱 룰이 설정되어 있는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
A method of analyzing HTTP traffic in which different parsing rules are set for each of the plurality of parsing tools.
제1항에 있어서,
상기 파싱 룰은,
하나 이상의 키를 포함하고,
상기 추출하는 단계는,
상기 컨텐츠에서 상기 하나 이상의 키에 대응하는 텍스트를 식별하는 단계; 및
상기 식별된 텍스트의 밸류를 추출하는 단계를 포함하는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
The parsing rule is,
contains one or more keys,
The extracting step is,
identifying text corresponding to the one or more keys in the content; and
A method of analyzing HTTP traffic, including extracting the value of the identified text.
제3항에 있어서,
상기 파싱 룰은,
처리 옵션을 더 포함하고,
상기 HTTP 트래픽의 분석 방법은,
상기 추출된 밸류를 상기 처리 옵션에 따라 처리하는 단계를 더 포함하는, HTTP 트래픽의 분석 방법.
According to paragraph 3,
The parsing rule is,
Includes more processing options,
The method for analyzing the HTTP traffic is,
Method for analyzing HTTP traffic, further comprising processing the extracted value according to the processing option.
제4항에 있어서,
상기 처리 옵션은,
상기 밸류를 출력하는 옵션, 상기 밸류가 특정의 문자열이면, 이를 지정된 다른 문자열로 변환하여 출력하는 옵션, 상기 밸류를 구분자로 분할하고, 분할된 밸류들을 어레이 형식으로 저장하는 옵션, 또는 상기 밸류를 regex(regular expression) 문법을 통해 추출하는 옵션을 포함하는, HTTP 트래픽의 분석 방법.
According to clause 4,
The above processing options are:
An option to output the value, if the value is a specific string, an option to convert it to another specified string and output it, an option to split the value with a delimiter and store the divided values in an array format, or to regex the value. (regular expression) A method of analyzing HTTP traffic, including the option to extract it through grammar.
제1항에 있어서,
상기 HTTP 트래픽의 분석 방법은,
상기 컨텐츠가 인코딩되어 있는 경우, 상기 컨텐츠의 인코딩 방식에 대응하는 디코딩 방식에 따라 상기 인코딩된 컨텐츠를 디코딩하는 단계를 더 포함하는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
The method for analyzing the HTTP traffic is,
When the content is encoded, the method further includes decoding the encoded content according to a decoding method corresponding to the encoding method of the content.
제1항에 있어서,
상기 HTTP 트래픽의 분석 방법은,
상기 추출된 컨텐츠를 디스플레이를 통해 출력하는 단계를 더 포함하는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
The method for analyzing the HTTP traffic is,
Method for analyzing HTTP traffic, further comprising outputting the extracted content through a display.
제1항에 있어서,
상기 HTTP 메시지는, 클라이언트 기기와 서버 사이에서 송수신되는 메시지이며,
상기 HTTP 트래픽의 분석 방법은,
상기 추출된 컨텐츠가 유출 방지 컨텐츠에 해당하는 경우, 상기 클라이언트 기기와 서버 사이에서 송수신되는 메시지를 차단하는 단계를 더 포함하는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
The HTTP message is a message transmitted and received between a client device and a server,
The method for analyzing the HTTP traffic is,
If the extracted content corresponds to leak prevention content, the method further includes blocking messages transmitted and received between the client device and the server.
제1항에 있어서,
상기 HTTP 메시지가 번역과 관련된 요청인 경우,
상기 파싱 룰에 따라 상기 바디로부터 번역의 대상이 되는 텍스트, 및 번역 후의 텍스트가 어느 나라의 언어인지를 나타내는 정보가 상기 컨텐츠로서 추출되고,
상기 HTTP 메시지가 번역과 관련된 응답인 경우,
상기 파싱 룰에 따라 상기 바디로부터 번역 결과에 해당하는 텍스트, 및 번역의 대상이 되는 텍스트가 어느 나라의 언어인지를 나타내는 정보가 상기 컨텐츠로서 추출되는, HTTP 트래픽의 분석 방법.
According to paragraph 1,
If the HTTP message is a request related to translation,
According to the parsing rule, the text to be translated from the body and information indicating the language of which country the text after translation is extracted from the body as the content,
If the HTTP message is a translation-related response,
A method of analyzing HTTP traffic in which, according to the parsing rule, a text corresponding to a translation result and information indicating the language of which country the text to be translated is extracted from the body as the content.
제1항에 있어서,
상기 HTTP 메시지가 메일 전송과 관련된 요청인 경우,
상기 파싱 룰에 따라 상기 바디로부터 발신인 정보, 수신인 정보, 메일의 제목 및 메일의 내용이 상기 컨텐츠로서 추출되는, HTTP 트래픽의 분석 방법
According to paragraph 1,
If the HTTP message is a request related to mail transmission,
A method of analyzing HTTP traffic in which sender information, recipient information, mail title, and mail content are extracted from the body according to the parsing rule as the content.
제1항에 있어서,
상기 HTTP 메시지는, 메일, 번역, 검색, 글쓰기, 파일 업로드 또는 문서 작성과 관련된 HTTP 요청 또는 HTTP 응답인, HTTP 트래픽의 분석 방법.
According to paragraph 1,
The HTTP message is an HTTP request or HTTP response related to mail, translation, search, writing, file upload, or document creation. Method of analyzing HTTP traffic.
하드웨어와 결합하여 제1항 내지 제11항 중 어느 하나의 항의 HTTP 트래픽의 분석 방법을 실행하기 위하여 매체에 저장된 프로그램.
A program stored in a medium to execute the HTTP traffic analysis method of any one of claims 1 to 11 in combination with hardware.
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 하나 이상의 인스트럭션에 따라 동작하는 프로세서를 포함하되,
상기 프로세서는,
HTTP(HyperText Transfer Protocol) 메시지의 헤더(header)로부터 호스트(host) 정보, URL(Uniform Resource Locator) 정보 및 메쏘드(method) 정보 중 적어도 하나를 포함하는 헤더 정보를 추출하고,
복수의 파싱 툴 중 상기 추출된 헤더 정보에 대응하는 파싱 툴을 선택하고,
상기 선택된 파싱 툴에 대응하는 파싱 룰에 따라 상기 HTTP 메시지의 바디(body)로부터 컨텐츠를 추출하는, 전자 장치.
A memory that stores one or more instructions; and
Including a processor that operates according to the one or more instructions,
The processor,
Extract header information including at least one of host information, URL (Uniform Resource Locator) information, and method information from the header of the HTTP (HyperText Transfer Protocol) message,
Select a parsing tool corresponding to the extracted header information from among a plurality of parsing tools,
An electronic device that extracts content from the body of the HTTP message according to a parsing rule corresponding to the selected parsing tool.
제13항에 있어서,
상기 복수의 파싱 툴 각각에 대해 서로 다른 파싱 룰이 설정되어 있는, 전자 장치.
According to clause 13,
An electronic device in which different parsing rules are set for each of the plurality of parsing tools.
제13항에 있어서,
상기 파싱 룰은,
하나 이상의 키를 포함하고,
상기 전자 장치는,
상기 컨텐츠에서 상기 하나 이상의 키에 대응하는 텍스트를 식별하고,
상기 식별된 텍스트의 밸류를 추출하는, 전자 장치.
According to clause 13,
The parsing rule is,
contains one or more keys,
The electronic device is,
identify text corresponding to the one or more keys in the content,
An electronic device that extracts the value of the identified text.
제15항에 있어서,
상기 파싱 룰은,
처리 옵션을 더 포함하고,
상기 전자 장치는,
상기 추출된 밸류를 상기 처리 옵션에 따라 처리하는, 전자 장치.
According to clause 15,
The parsing rule is,
Includes more processing options,
The electronic device is,
An electronic device that processes the extracted value according to the processing option.
KR1020220098688A 2022-07-13 2022-08-08 Electronic apparatus and method for analyzing http traffic thereby KR102663914B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220086445 2022-07-13
KR20220086445 2022-07-13

Publications (2)

Publication Number Publication Date
KR20240009302A true KR20240009302A (en) 2024-01-22
KR102663914B1 KR102663914B1 (en) 2024-05-13

Family

ID=89716421

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220098688A KR102663914B1 (en) 2022-07-13 2022-08-08 Electronic apparatus and method for analyzing http traffic thereby

Country Status (1)

Country Link
KR (1) KR102663914B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064201B1 (en) * 2010-07-27 2011-09-14 주식회사 파수닷컴 Right managing device of web data, recording medium for operating right managing method of web data and apparatus and method for providing information for right management
KR101650475B1 (en) * 2016-04-01 2016-09-05 주식회사 엘리바이저 Security device using transaction information obtained from web server
KR20170106426A (en) * 2015-01-28 2017-09-20 캐논 가부시끼가이샤 Pushing resources by improved client-driven server devices
KR20190062115A (en) * 2017-11-27 2019-06-05 (주) 시스메이트 ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy
KR20210007803A (en) * 2019-07-12 2021-01-20 쿠팡 주식회사 Systems and methods for interfacing networks using a unified communication scheme

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064201B1 (en) * 2010-07-27 2011-09-14 주식회사 파수닷컴 Right managing device of web data, recording medium for operating right managing method of web data and apparatus and method for providing information for right management
KR20170106426A (en) * 2015-01-28 2017-09-20 캐논 가부시끼가이샤 Pushing resources by improved client-driven server devices
KR101650475B1 (en) * 2016-04-01 2016-09-05 주식회사 엘리바이저 Security device using transaction information obtained from web server
KR20190062115A (en) * 2017-11-27 2019-06-05 (주) 시스메이트 ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy
KR20210007803A (en) * 2019-07-12 2021-01-20 쿠팡 주식회사 Systems and methods for interfacing networks using a unified communication scheme

Also Published As

Publication number Publication date
KR102663914B1 (en) 2024-05-13

Similar Documents

Publication Publication Date Title
US8539224B2 (en) Obscuring form data through obfuscation
EP2715593B1 (en) External link processing
US8433800B2 (en) Smart link system and method
CN100492963C (en) Surrogate server, access control method
CN106936791B (en) Method and device for intercepting malicious website access
US9635007B2 (en) Dynamic web services server
CN110602269B (en) Method for converting domain name
CN112468520A (en) Data detection method, device and equipment and readable storage medium
CN109862021B (en) Method and device for acquiring threat information
EP3198521B1 (en) Method and apparatus of processing a doi (digital object unique identifier) in interaction information
WO2015024490A1 (en) Monitoring nat behaviors through uri dereferences in web browsers
US20210258283A1 (en) Document Tracking Method, Gateway Device, and Server
US20050138004A1 (en) Link modification system and method
CN111049947B (en) Message forwarding method and device, electronic equipment and storage medium
WO2014205669A1 (en) Network device and e-mail request processing method
CN111901218A (en) Message transmission method, SSLVPN proxy server, electronic device and storage medium
EP3896939A1 (en) Resource description file processing and page resource obtaining method, and intermediate server
JP4445243B2 (en) Spam blocking method
KR102663914B1 (en) Electronic apparatus and method for analyzing http traffic thereby
US7454497B1 (en) Multi-platform and multi-national gateway service library
US8010087B2 (en) Mobile carrier capability
JP4699893B2 (en) Packet analysis system, packet analysis program, packet analysis method, and packet acquisition device
US20150074154A1 (en) Method of secure storing of content objects, and system and apparatus thereof
Sarker et al. Learning Python Network Programming
CN105635225A (en) Method and system of using mobile terminal to access mobile internet-based server and mobile terminal

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant