KR101647278B1 - Dns패킷 json 변환 및 순위 추출 방법 - Google Patents

Dns패킷 json 변환 및 순위 추출 방법 Download PDF

Info

Publication number
KR101647278B1
KR101647278B1 KR1020150060252A KR20150060252A KR101647278B1 KR 101647278 B1 KR101647278 B1 KR 101647278B1 KR 1020150060252 A KR1020150060252 A KR 1020150060252A KR 20150060252 A KR20150060252 A KR 20150060252A KR 101647278 B1 KR101647278 B1 KR 101647278B1
Authority
KR
South Korea
Prior art keywords
order
dns
collection
address
json format
Prior art date
Application number
KR1020150060252A
Other languages
English (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 KR1020150060252A priority Critical patent/KR101647278B1/ko
Application granted granted Critical
Publication of KR101647278B1 publication Critical patent/KR101647278B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • H04L61/1511

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 DNS 패킷을 JSON 포맷으로 전환 저장하고, 저장된 JSON 포맷의 DNS 패킷에 대하여 용이한 방법으로 로그 분석을 제공하기 위한 발명으로서, DNS 패킷을 JSON 포맷으로 전환하는 단계와; 전환된 JSON 포맷의 로그를 몽고를비(MongoDB)에 저장하고, 저장된 몽고디비로부터 JSON 로그를 조회하여 주제별 통계를 추출하는 단계를 포함하는 단계로 구성된 DNS패킷에 대한 JSON 변환 및 순위 추출 방법에 관한 것이다.

Description

DNS패킷 JSON 변환 및 순위 추출 방법{JSON Transformation of DNS Packet and Top Extraction Method}
본 발명은 인터넷 도메인 네임 서비스 과정에서 발생하는 DNS 트래픽 분석을 좀 더 쉽고 용이하게 할 수 있도록 하는 JSON 변환 및 처리 기술이며,
이 기술을 통하여 도메인 질의 JSON 포맷 전환 방법, 도메인 응답 JSON 포맷 전환 방법, 도메인 주소 순위, 인터넷 주소 순위, ISP(Internet Service Provider) 순위 그리고 국가 순위를 추출하는 방법에 관한 것이다.
이 기술과 빅 데이터 처리 기술을 활용하여 인터넷 도메인 네임 서비스에 대한 체계적인 통계 정보 제공 및 관제시스템 분야에서 활용할 수 있다.
도메인 네임 시스템(Domain Name System, DNS)는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해준다. 도메인 네임 시스템은 흔히 “전화번호부”에 비유된다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, www.example.com 과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다.
도메인 이름 공간은 도메인 이름을 트리 형태로 구성한 것이다. 트리의 각 노드는 0개 이상의 리소스 레코드(resource record)를 가진다. 트리는 루트 존(root zone)에서 시작하여 여러 개의 하위 존으로 나뉜다. 각 DNS 존은 하나의 권한 있는 네임서버(authoritative name server)에 의해 관리되는 노드들의 집합이다. (하나의 네임서버가 여러 개의 존을 관리할 수 있다.)
관리 권한은 분할되어서 새로운 존을 형성할 수 있다. 이 때 기존의 도메인 이름 공간의 일부분이 서브도메인 형태로 다른 네임서버에 권한이 위임된다고 한다.
도메인 이름 형성에 관한 규칙은 RFC 1035, RFC 1123, RFC 2181에 정의되어 있다. 도메인 이름은 한개 이상의 부분(레이블)로 이루어지고, 점으로 구분하여 붙여 쓴다.(예: example.com)
가장 오른쪽 레이블은 최상위 도메인을 의미한다. 예를 들어, 도메인 이름 www.example.com 은 최상위 도메인 com에 속한다.
도메인의 계층 구조는 오른쪽부터 왼쪽으로 내려간다. 왼쪽의 레이블은 오른쪽의 서브도메인이다. 예를 들어, 레이블 example은 com 도메인의 서브도메인이며, www는 example.com의 서브도메인이다. 서브도메인은 127단계까지 가능하다.
각 레이블은 최대 63개 문자를 사용할 수 있고, 전체 도메인 이름은 253개 문자를 초과할 수 없다. 실제로는 도메인 레지스트리에 더 짧은 제한을 가질 수 있다.
도메인 이름은 기술적으로 옥텟으로 표현할 수 있는 모든 문자를 사용할 수 있다(RFC 3696). 그러나 DNS 루트 존과 대부분의 서브도메인에서는 제한된 형식과 문자들만 허용한다. 레이블에 사용될 수 있는 문자는 아스키 문자 집합의 부분집합과 알파벳 a부터 z, A부터 Z, 숫자 0부터 9와 하이픈(-)을 포함한다. 이 규칙은 letter(문자), digit(숫자), hyphen(하이픈)의 첫 글자를 따서 LDH 규칙이라고 한다. 도메인 이름은 대소문자 구분 없이 해석되고, 레이블은 하이픈으로 시작하거나 끝날 수 없다.
DNS 메시지 형식으로는 질의와 응답, 그리고 그들은 모두 같은 형식을 가지고 있다. 각 메시지는 헤더와 네 개의 섹션으로 구성 질문, 대답, 권한 및 추가 섹션으로 구성된다. 헤더 필드 “플래그”는 이들 네 개의 섹션의 콘텐츠를 제어하지만, 모든 DNS 메시지의 구조는 동일하다.
인터넷 서비스 공급자(ISP) 혹은 규모가 있는 기관인 경우 인터넷 사용자를 위하여 도메인 네임 서버를 운영하고 있고, 안정된 서비스를 위하여 각종 통계 정보를 모니터링을 하고 있다. 도메인 네임 서비스 모니터링 시스템은 인터넷 사용자의 도메인 네임 다음과 같은 이용 형태를 파악하는데 사용되어지는 시스템이다.
1. 시간별, 일별, 월별 및 년별 사용량
2. 도메인 질의 성공률
3. 도메인 캐시 서버 사용률
4. 도메인 주소 순위, 인터넷 주소 순위, 인터넷 서비스 제공자 순위, 국가 순위
인터넷 사용자에게 안정된 도메인 네임 서비스를 제공하기 위하여 관리자는 도메인 네임 서비스 모니터링 시스템을 통하여 문제점을 미리 파악할 수 있고, 운영 정책 수립 및 예산 등을 정할 수 있다.
국내공개특허공보 공개번호 제1020120089591(2012.08.13)호에는 게이트웨이 프로세스에서 비-지속성 메시지를 수신하는 단계로서, 상기 메시지는 명명된 큐를 나타내는 정보를 포함하는, 상기 비-지속성 메시지를 수신하는 단계; 데이터 프로세서를 사용함으로써, 명명된 큐의 일관된 해시의 사용에 의해 명명된 큐를 큐 노드로 맵핑하는 단계; 큐 노드에서 메시지를 큐 프로세스로 맵핑하는 단계; 큐 프로세스를 사용함으로써, 가입자 게이트웨이의 목록에 액세스하는 단계; 및 메시지를 목록의 가입자 게이트웨이들 각각으로 라우팅하는 단계를 포함한
네트워크 환경에서 비-지속성 메시지의 다중 큐를 관리하기 위한 시스템 및 방법이 공개되어 있고,
국내공개특허공보 공개번호 제1020100105544(2010.09.29)호 및 국내공개특허공보 공개번호 제1020100091165(2010.08.18)호에는 XML 프로그래밍 랭귀지로 작성된 상위 레벨 어플리케이션 코드를 입력으로 받아들이는 XML 가상 머신이 구현된다. XML 프로그래밍 랭귀지로 작성된 어플리케이션 코드를 컴퓨터 플랫폼들에 걸쳐 실행하기에 적합한 코드로 해석 또는 번역하는 기능성이 제공되는 네트워크 오퍼레이팅 시스템에이 기재되어 있으며,
국내공개특허공보 공개번호 제1020140074273(2014.06.17)호에는 엔드 디바이스에 대한 데이터를 저장하기 위한 적어도 하나의 메모리; 및 복수의 엔드 디바이스들에 보내고자 하는 서비스 공급자로부터의 통신을 수신하고 상기 통신을 복수의 엔드 디바이스들에 재전송하기 위한 인터페이스를 구비하는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템이 공개되어 있음을 알 수 있다.
1. 국내공개특허공보 공개번호 제1020120089591(2012.08.13)호 2. 국내공개특허공보 공개번호 제1020100105544(2010.09.29)호 3. 국내공개특허공보 공개번호 제1020100091165(2010.08.18)호 4. 국내공개특허공보 공개번호 제1020140074273(2014.06.17)호
종래 도메인 네임 서비스 분석을 위하여 DNS 패킷을 바이너리 데이터 형태의 PCAP 파일로 저장할 수 있으나, 저장된 PCAP 파일을 분석하기 위해서는 도 2와 같은 와이어샤크(wireshark)와 같은 전용 도구가 있어야 하고, 전용도구가 있다고 하더라도 시간, 일간, 월간, 년간별 통계 그리고 주제별 순위 통계등을 파악하기 위하여 DNS 패킷에 대한 전문적인 이해를 전재로 하고 있어 활용도가 매우 낮은 상태이다. 본 발명에서는 이러한 어려움을 해결할 수 있도록 DNS 패킷을 알기 쉬운 JSON 포맷으로 변환한 후 NoSQL 데이터베이스인 MongoDB(10gen에서 개발한 JSON 도큐먼트를 저장 관리하는 데이타베이스)에 저장하고, MongoDB에 저장된 JSON 포맷 데이터를 통하여 주제별 순위 통계를 파악할 수 있도록 하는 것이 본 발명의 해결과제인 것이다.
도메인 네임 서비스(DNS) 관리 시스템은 도메인 네임 관리 서비스와 통계 서비스로 구성이 되며, 도메인 네임 관리 서비스는 본 출원인이 선출원한 특허출원번호 제 1020090125315 ( 등록번호 제 1009947640000 호) 발명의 명칭: 도메인 네임 웹 관리방법, 특허출원번호 제1020130042632 (등록번호 제1014857640000호) 발명의 명칭; 오픈 API를 사용한 도메인 네임 관리 서비스 제공 방법이며, 본 발명은 DNS 패킷 JSON 변환을 통하여 도메인 네임 주제별 통계 추출을 통하여 그 결과를 서비스하기 위한 전 단계에 관한 것이다.
DNS 요청 패킷의 JSON 포맷 전환 단계와; DNS 응답 패킷의 JSON 포맷 전환 단계와; ISP 블록(Block)에 대한 JSON 포맷 전환 단계와, JSON 포맷 로그로 부터 도메인 주소 순위 추출 단계와, JSON 포맷 로그로 부터 소스 아이피 순위 추출 단계와; JSON 포맷 로그로 부터 인터넷 서비스 제공자 순위 추출 단계와; JSON 포맷 로그로 부터 국가 순위 추출 단계;를 포함하는 DNS패킷에 대한 JSON 변환 및 순위 추출 방법을 제공하는 것이 본 발명의 과제해결 수단인 것이다.
본 발명은 수집된 DNS 요청 패킷과 DNS 응답 패킷을 JSON 포맷으로 전환하여 그 활용성을 높이고, 저장된 DNS 요청 JSON 포맷 로그로 부터 도메인 주소순위, 인터넷 주소 순위, 인터넷 서비스 제공자 순위 및 국가 순위를 추출하여 추이를 파악할 수 있으며, JSON 포맷 로그로 부터 누구나나 쉽게 구조를 이해하고, 쉽게 통계 정보을 취할 수 있으며,
JSON 포맷 로그는 MongoDB와 같은 noSQL 서버에 바로 저장 관리할 수 있는 장점과,
관리자가 도메인 네임 서비스 시스템을 운영함에 있어 인터넷 사용자의 이용형태, 안정된 시스템 운영을 위한 정책 수립 및 시스템 유지관리를 위한 예산 수립을 하는데 도움이 될 수 있다.
도1 발명의 개념도
도2 본 발명의 와이어샤크(wireshak) 화면 예
본 발명은 DNS 요청 패킷의 JSON 포맷 전환 단계와; DNS 응답 패킷의 JSON 포맷 전환 단계와; ISP 블록에 대한 JSON 포맷 전환 단계와, JSON 포맷 로그로 부터 도메인 주소 순위 추출 단계와, JSON 포맷 로그로부터 소스 아이피 순위 추출 단계와; JSON 포맷 로그로 부터 인터넷 서비스 제공자 순위 추출 단계와; JSON 포맷 로그로부터 국가 순위 추출 단계;를 포함하는 DNS패킷에 대한 JSON 변환 및 순위 추출 방법에 관한 것이다.
일반적으로 DNS는 UDP나 TCP를 통해 실행할 수 있으며, TCP를 이용하는 경우는 Zone 전달이나 큰 DNS 쿼리를 보낼 때 이용 하며, 일반적으로 UDP를 이용하여 통신이 이루어지는 DNS패킷에 대한 JSON 변환 및 순위 추출 방법에 관한 것이다.패킷이란 한글 위키피디아의 정의에 의하면(http://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7) 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷을 지원하지 않는 컴퓨터 통신 연결은 단순히 바이트, 문자열, 비트를 독립적으로 연속하여 데이터를 전송하지만, 데이터가 패킷으로 형식으로 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신뢰성 있게 보낼 수 있다.
DNS 패킷이란 패킷에 전송되어 지는 데이터가 DNS 데이터로 구성되었을 때의 패킷을 말하며, DNS 트래픽은 DNS 패킷이 모여 이루어진 흐름을 의미한다.
JSON(제이슨, JavaScript Object Notation)이란 한글 위키피디아의 정의에 의하면(http://ko.wikipedia.org/wiki/JSON) 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이라고 정의되어 있다. 장점으로 첫째 JSON은 텍스트로 이루어져 있으므로, 사람과 기계 모두 읽고 쓰기 쉽다, 두 번째 프로그래밍 언어와 플랫폼에 독립적이므로, 서로 다른 시스템 간에 객체를 교환하기에 좋다. 세 번째 자바스크립트의 문법을 채용했기 때문에, 자바스크립트에서 eval 명령으로 곧바로 사용할 수 있다. 네 번째 모든 웹 브라우저는 JSON 전용 파서 기능을 내장하고 있어 별도의 변환 과정이 없이 바로 사용할 수 있다.
JSON 포맷이란 JSON 문법에 따라 작성된 형식을 말하는 것으로서 JSON 문법은 자바스크립트 표준인 ECMA-262 3판의 객체 문법에 바탕을 두며, 인코딩은 유니코드이며, 표현할 수 있는 기본 자료 형으로 수, 문자열, 참/거짓, NULL이 있고, 집합 자료형으로 배열과 객체가 있다.
본 발명의 실시되는 상태를 도면을 참고하여 상세히 설명하면,
인터넷 트래픽(1)이 NIC ( Network Interface Card )장치로 들어오며 중앙서버(2)에 들어온 트래픽 가운데 DNS 패킷만을 캡처하고, 캡처된 DNS 패킷을 PCI(Peripheral Component Interconnect) 인터페이스를 통하여 전달하고 변환장치(3)에서는 Agent 실행 프로그램을 구성하는 Transformation 기능으로 통하여 JSON 포맷으로 변환하고 변환장치(3)에서 변환된 JSON 로그를 spring-boot로 제작된 로그 서버(4)에서 수신하고, 수신된 JSON 로그를 모아 MongoDB(5)의 저장을 효율적으로 처리하기 위하여 배치(Batch) 로그로 전환한 후, 5공저에서 MongoDB(5)에 저장하는 순서를 보여주고 있다. 그리고 로그 서버(4)를 구성하는 TopN Compute 기능을 통하여 MongoDB(5)에 저장된 JSON 로그를 조회한 후 각종 주제별 순위 통계 처리를 수행하게 된다.
DNS 메시지의 형태는 기본적으로 다음과 같이 Header, Question, Answer, Authority 및 Additional 로 구성되어 있다.
DNS 패킷 구조
Header
Question
Answer
Authority
Additional
DNS 헤더 구조
ID
QR Opcode AA TC RD RA Z RCODE
QDCOUNT
ANCOUNT
NSCOUNT
ARCOUNT
DNS 헤더 필드
필드명 설명
ID
(Transaction ID)
이 필드는 클라이언트가 보낸 질의와 수신된 응답간 일치 여부를 식별하며, 16Byte 범위의 숫자로 증가시키면서 사용한다.
Flags 이 필드는 쿼리 특성을 정의한다.
QR QR은 패킷이 Query(0)/Response(1)를 구별한다.
Opcode Query의 유형을 지정한다
AA
(Authoritative)
Authoritative Answer필드는 신뢰할 수 있는 DNS 서버(공식 DNS 서버)의 응답인지를 표시하며, Response 패킷에만 설정된다.
TC
(Truncated)
DNS 응답이 정해진 길이(512Byte)를 초과하여 잘렸는지 표시하는 필드이다. 만약, 클라이언트가 잘린 DNS 응답을 보게 되면, TCP를 통해 다시 쿼리를 전송한다.
RD
(Recursion desired)
Query를 보낼 때 재귀적인 Query가 필요한지 여부를 정의한다. 기본적으로 필요(1)로 되어 있으며, 불필요한 경우 0으로 세팅하여 전송하면 된다.
RA
(Recursion available)
응답한 DNS 서버가 재귀질의(RD)를 사용 가능한지를 표시하며, Response시에만 표시 된다
Z 이 필드는 나중을 위해 예약된 필드로, 항상 0으로 설정되어 있다.
RCODE
(Reply code)
이 필드는 응답에서 오류가 존재하는지를 표시한다.
QDCOUNT
(Questions)
Questions Section의 개수를 표시한다.
ANCount
(Answer Resource Record)
Answers Section의 개수를 표시한다.
NSCount
(Authority Resource Record)
Authority Section의 개수를 표시한다.
ARCount
(Additional Resource Record)
Additional Section의 개수를 표시한다.
DNS Header는 총 128Byte로 이루어져 있으며, 와이어샤크(Wireshark)를 이용하여 DNS 표준 Query와 Response 패킷을 나타낸다.
Question Section 구조
Name
Type
Class
Name : 이 필드는 가변적인 도메인 네임이 들어간다. 형식은 도메인 네임의 영문자를 헥사코드로 변경할 때 구분하기 위해 숫자로 구분 문자를 넣는다. 예를 들어 helios.lotte.co.kr 의 경우 06helios05lotte02co02kr00으로 표시가 된다.
Figure 112015041699986-pat00001

Type: 이 필드는 Query의 유형을 정의하며 주요 타입은 다음과 같다.
Query 타입
타입 설명
A Host Address
NS Authoritative Name Server
MX Mail Exchange
HINFO Host Information
PTR Domain Name Pointer
Class: 네트워크 클래스 타입을 표시하며 주요 클래스는 다음과 같으며 일반적으로 IN클래스를 사용한다.
클래스
Class Name
IN Internet Class
CS CSnet Class
CH Chaos Class
HS HeSiod Class
Query에 대한 응답 Section인 Answer, Authority, Additional Section의 구조는 모두 동일하며, 다음과 같다.
응답구조
Name
Type
Class
TTL
RDLength
Rdata
Name, Type, Class 필드는 Question Section과 동일하며, 여기에 TTL, RDLength, Rdata가 추가되며 각각에 대하여 설명하면 다음과 같다. TTL(Time to live) 는 DNS응답에 사용된 데이터를 DNS 서버가 캐싱 정보를 유지하는 시간을 의미한다. RDLength(Data length)는 Rdata의 길이를 의미한다. Rdata는 해당 리소스에 대해 실제 정보를 갖는다.
DNS 요청 패킷의 JSON 포맷 전환 단계를 살펴보면,
DNS 요청 패킷의 포맷을 다음과 같은 구조를 갖는다.
Figure 112015041699986-pat00002

위에서 알 수 있듯이 이해하기 어려운 포맷을 가지고 있으며, 본 발명에서는 다음과 같이 이해하기 쉬운 형태의 JSON 포맷으로 변환한다.
Figure 112015041699986-pat00003
JSON 포맷 변환 결과를 MongoDB의 DNS-REQ-COLLECTION 컬렉션에 저장하는 DNS 요청 패킷의 JSON 포맷 전환 단계인 것이다.
DNS 응답 패킷의 JSON 포맷 전환 단계를 살펴보면,DNS 응답 패킷의 포맷을 다음과 같은 구조를 갖는다.
Figure 112015041699986-pat00004

위에서 알 수 있듯이 이해하기 어려운 포맷을 가지고 있으며, 본 발명에서는 다음과 같이 이해하기 쉬운 형태의 JSON 포맷으로 변환한다.
Figure 112015041699986-pat00005

JSON 포맷 변환 결과를 MongoDB의 DNS-RES-COLLECTION 컬렉션에 저장하는 DNS 응답 패킷의 JSON 포맷 전환단계인 것이다.
ISP 블록 저장 단계를 살펴보면,
예) 164.124.1.1 IP에 검출시 아래와 같이 쿼리 수행하면 다음과 같은 결과(ASN 번호 | 조회 아이피 | 아이피 블록 | 국가코드 | 레지스트리 | 등록일자 | ISP 기관명)를 획득할 수 있고
Figure 112015041699986-pat00006

위의 결과로부터 아래와 같은 JSON 변환 및 저장.
Figure 112015041699986-pat00007

JSON 포맷 로그로 부터 도메인 주소 순위 추출 단계를 살펴보면,
도메인 주소 순위를 추출하는 방법은 DNS-REQ-COLLECTION 컬렉션에서 부터 검색 시작시간과 종료시간에 대하여 TIME항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 qname 네임에 대한 도메인 네임 값을 추출하는 순서와 도메인 네임 값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 구성된다.
Figure 112015041699986-pat00008

JSON 포맷 로그로 부터 아이피 주소 순위 추출 단계를 살펴보면,
소스 아이피 주소를 기준으로 한 소스 아이피 순위를 추출하는 방법은 DNS-REQ-COLLECTION 컬렉션에 으로 부터 검색 시작시간과 종료시간에 대하여 TIME항목과 비교하여 검색하는 순서와 검색 완료 대상으로 부터 아이피 주소에 대한 값을 추출하는 순서와 추출된 값에서 src 네임에 대한 값 즉 아이피 주소를 추출하는 순서와 아이피 주소를 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 구성된다.
Figure 112015041699986-pat00009

JSON 포맷 로그로 부터 인터넷 서비스 제공자 순위 추출 단계를 살펴보면,
소스 아이피 주소를 기준으로 한 도메인 질의 인터넷 서비스 제공자별 순위를 추출하는 방법은 DNS-REQ-COLLECTION 컬렉션으로 부터 검색 시작시간과 종료시간에 대하여 TIME항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 소스 아이피 주소 즉 SRC값을 가지고 오는 순서와 ISP-BLOCK-COLLECTION 컬렉션에서 NETWORKADDRESS에서 포함 여부를 확인하는 순서와 포함 된 경우 데이터 셋으로 부터 ISP값을 추출하는 순서와 소스 아이피 주소와 ISP 값을 매핑하여 새로운 데이터 셋을 만드는 순서와 만들어진 데이터 셋에서 같은 ISP값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 구성된다.
Figure 112015041699986-pat00010

Figure 112015041699986-pat00011

JSON 포맷 로그로 부터 국가 순위 추출 단계를 살펴보면,
소스 아이피 주소를 기준으로 한 도메인 질의 국가별 순위를 추출하는 방법은 DNS-REQ-COLLECTION 컬렉션에서 부터 검색 시작시간과 종료시간에 대하여 TIME항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 소스 아이피 주소 즉 SRC값을 가지고 오는 순서와 ISP-BLOCK-COLLECTION 컬렉션에서 NETWORKADDRESS에서 포함여부를 확인하는 순서와 포함된 경우 데이터 셋으로 부터 COUNTRY값을 추출하는 순서와 소스 아이피 주소와 COUNTRY 값을 매핑하여 새로운 데이터 셋을 만드는 순서와 만들어진 데이터 셋에서 같은 COUNTRY값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 순서로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 구성된다.
Figure 112015041699986-pat00012

인터넷 트래픽(1), 중앙서버(2), 변환장치(3), 로그 서버(4), MongoDB(5).

Claims (8)

  1. DNS패킷 에 대한 JSON 변환 및 순위 추출 방법에 있어서,
    DNS 요청 패킷의 JSON 포맷 전환 단계와; DNS 응답 패 킷의 JSON 포맷 전환 단계와; ISP 블록에 대한 JSON 포맷 전환 단계와, JSON 포맷 로그로 부터 도메인 주소 순위 추출 단계와, JSON 포맷 로그로 부터 소스 아이피 순위 추출 단계와; JSON 포맷 로그로 부터 인터넷 서비스 제공자 순위 추출 단계와; JSON 포맷 로그로 부터 국가 순위 추출 단계;로 구성되며,
    상기 JSON 포맷 로그로 부터 도메인 주소 순위 추출 단계는 DNS-REQ-COLLECTION 컬렉션에서 부터 검색 시작시간과 종료시간에 대하여 TIME 항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 qname 네임에 대한 도메인 네임 값을 추출하는 순서와 도메인 네임 값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 추출하고,
    상기 JSON 포맷 로그로 부터 아 이피 주소 순위 추출 단계는 DNS-REQ-COLLECTION 컬렉션에서 부터 검색 시작시간과 종료시간에 대하여 TIME항목과 비교하여 검색하는 순서와 검색 완료 대상으로 부터 아이피 주소에 대한 값을 추출하는 순서와 추출된 값에서 src 네임에 대한 값 즉 아이피 주소를 추출하는 순서와 아이피 주소를 기준으로 개수를 셈하 는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 추출하며,
    상기 JSON 포맷 로그로 부터 인터넷 서비스 제공자 순위 추출 단계는 DNS-REQ-COLLECT ION 컬렉션으로 부터 검색 시작시간과 종료시간에 대하여 TIME항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 소스 아이피 주소 즉 SRC값을 가지고 오는 순서와 ISP-BLOCK-COLLECTION 컬렉션에서 NETWORK ADDRESS에서 포함 여부를 확인하는 순서와 포함 된 경우 데이터 셋으로 부터 ISP값을 추출하는 순서와 소스 아이피 주소와 ISP 값을 매핑하여 새로운 데이터 셋을 만드는 순서와 만들어진 데이터 셋에서 같은 ISP값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 결과로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 추출하며,
    상기 JSON 포맷 로그로 부터 국가 순위 추출 단계는 소스 아이피 주소를 기준으로 한 도메인 질의 국가별 순위를 추출하는 방법으로서, DNS-REQ-COLLECTION 컬렉션에서 부터 검색 시작시간과 종료시간에 대하여 TIME항목에 비교하여 검색하는 순서와 검색 완료 대상으로 부터 소스 아이피 주소 즉 SRC값 을 가지고 오는 순서와 ISP-BLOCK-COLLECTION 컬렉션에서 NETWORKADDRESS에서 포함여부를 확인하는 순서와 포함된 경우 데이터 셋으로 부터 COUNTRY값을 추출하는 순서와 소스 아이피 주소와 COUNTRY 값을 매핑하여 새로운 데이터 셋을 만드는 순서와 만들어진 데이터 셋에서 같은 COUNTRY값을 기준으로 개수를 셈하는 REDUCTION 순서와 REDUCTION 순서로 부터 내림차순으로 정렬하여 순위를 추출하는 순서로 구성되어 있음을 특징으로 하는 DNS패킷에 대한 JSON 변환 및 순위 추출 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020150060252A 2015-04-29 2015-04-29 Dns패킷 json 변환 및 순위 추출 방법 KR101647278B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150060252A KR101647278B1 (ko) 2015-04-29 2015-04-29 Dns패킷 json 변환 및 순위 추출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150060252A KR101647278B1 (ko) 2015-04-29 2015-04-29 Dns패킷 json 변환 및 순위 추출 방법

Publications (1)

Publication Number Publication Date
KR101647278B1 true KR101647278B1 (ko) 2016-08-23

Family

ID=56875606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150060252A KR101647278B1 (ko) 2015-04-29 2015-04-29 Dns패킷 json 변환 및 순위 추출 방법

Country Status (1)

Country Link
KR (1) KR101647278B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385263A (zh) * 2022-01-11 2022-04-22 中国民航信息网络股份有限公司 接口的调用方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100091165A (ko) 2007-09-28 2010-08-18 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
KR20100105544A (ko) 2007-10-22 2010-09-29 엑세리온 악티에볼라그 제스쳐 기반 협업
KR20120005016A (ko) * 2009-04-07 2012-01-13 베리사인 인코포레이티드 현존하는 도메인 명칭 dns 트래픽 캡처 및 분석
KR20120089591A (ko) 2011-02-02 2012-08-13 아이엠브이유 인코포레이티드 네트워크 환경에서 비-지속성 메시지의 다중 큐를 관리하기 위한 시스템 및 방법
US20130094445A1 (en) * 2011-10-13 2013-04-18 Interdigital Patent Holdings, Inc. Method and apparatus for providing interfacing between content delivery networks
KR20140074273A (ko) 2011-06-29 2014-06-17 프리스타일 테크놀러지 피티와이 리미티드 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
KR20140125042A (ko) * 2013-04-18 2014-10-28 윤대일 오픈 api를 사용한 도메인 네임 관리 서비스 제공방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100091165A (ko) 2007-09-28 2010-08-18 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
KR20100105544A (ko) 2007-10-22 2010-09-29 엑세리온 악티에볼라그 제스쳐 기반 협업
KR20120005016A (ko) * 2009-04-07 2012-01-13 베리사인 인코포레이티드 현존하는 도메인 명칭 dns 트래픽 캡처 및 분석
KR20120089591A (ko) 2011-02-02 2012-08-13 아이엠브이유 인코포레이티드 네트워크 환경에서 비-지속성 메시지의 다중 큐를 관리하기 위한 시스템 및 방법
KR20140074273A (ko) 2011-06-29 2014-06-17 프리스타일 테크놀러지 피티와이 리미티드 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
US20130094445A1 (en) * 2011-10-13 2013-04-18 Interdigital Patent Holdings, Inc. Method and apparatus for providing interfacing between content delivery networks
KR20140125042A (ko) * 2013-04-18 2014-10-28 윤대일 오픈 api를 사용한 도메인 네임 관리 서비스 제공방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385263A (zh) * 2022-01-11 2022-04-22 中国民航信息网络股份有限公司 接口的调用方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106068639B (zh) 通过dns处理的透明代理认证
US7225272B2 (en) Method and apparatus for providing name services
US6249813B1 (en) Automated method of and apparatus for internet address management
EP2240854B1 (en) Method of resolving network address to host names in network flows for network device
CN107071084A (zh) 一种dns的评价方法和装置
US20150288711A1 (en) Network analysis apparatus and method
KR20020082461A (ko) 네트워크 어드레스 서버
CN100473072C (zh) 网络地址服务器
CN105228140A (zh) 一种数据访问方法及装置
CN101902442B (zh) 获取ip地理位置信息的方法、系统及位置信息服务器
KR20120046114A (ko) 미등록 도메인 명칭의 특징화
US20080294796A1 (en) Native Language Internet Address System
CN109218457A (zh) 网络数据处理方法、装置和系统
CN111010456B (zh) 一种主域名获取和验证方法
CN101599857B (zh) 检测共享接入主机数目的方法、装置及网络检测系统
CN110798545B (zh) 一种基于Web的域名数据获取方法
KR100706702B1 (ko) 도메인네임서버를 이용한 한글 인터넷컨텐츠주소 서비스 방법 및 시스템
CN104253796A (zh) 域名系统中基于网络地址绑定区层级的快速区识别方法
KR101647278B1 (ko) Dns패킷 json 변환 및 순위 추출 방법
CN113037886B (zh) 网络设备的管理方法、装置、介质以及电子设备
CN112817983A (zh) 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
Gañán et al. WHOIS sunset? A primer in Registration Data Access Protocol (RDAP) performance.
KR101524733B1 (ko) Ip 네트워크를 통해 웹사이트에 접속하는 단말기 및 단말기의 웹사이트 접속 시간 단축 방법
CN105245626B (zh) 在专网中使用快捷域名实现网站寻址的方法
CN112261134B (zh) 网络数据访问审计方法、装置、设备及存储介质

Legal Events

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

Payment date: 20190710

Year of fee payment: 4