728x90

업무에 따라 다르겠지만 개인적으로는 DNS 에 대한 핸들링이 무척 많이 필요합니다. 커맨드라인에서 Shell 스크립트를 이용해서 여러가지를 만들어 사용하고 있긴 하지만, 가능하면 Python 이나 node.js 로 필요한 기능을 만들어 사용하는 것이 좋지 않을까 생각하고 있었습니다.

Python 쪽에서 사용할 수 있는 DNS 패키지가 어떤것이 있는지 살펴보다보니 `dnspython` 이라는 걸출한 물건이 있는 것을 발견했습니다. 패키지 공식 페이지에서 이야기 하는 것처럼 dnspython 은 DNS Toolkit 을 표방하고 있습니다. 정말 많은 기능들을 제공하고 있기 때문에 DNS 관련한 도구 개발에 무척 도움이 될 것 같습니다. 

간단하게는 Resolver 역할을 수행하는 것에서 시작할 수 있고, 좀 멀리 나가면 Zone 에 대한 핸들링도 수행할 수 있는 것 같습니다. 개인적으로 사용해 본 내용이 Resolver 중심이고 도메인 이름에 대한 핸들링 정도여서, 실제 필요한 과제에 맞도록 Research 는 조금 더 해봐야 할 것 같습니다. PyPi 에 패키지가 등록되어 있기 때문에 pip 로 패키지를 설치하면 편리하게 사용해 보실 수 있습니다. 

 

dnspython | dnspython

17 July, 2020 at 06:30 PDT Dnspython 2.0.0 is now available on PyPI. See “What’s New” for all the features in this major release. Thanks to the many people who have contributed to this release! Python 2.x support ended with 1.16.0. Dnspython 2.0.0 re

www.dnspython.org

 

728x90
728x90

인터넷을 구성하는 많은 요소들 중 도메인 Domain 은 가장 널리 사용되는 것 중 하나입니다. 도메인은 기억하기 어려운 IP 주소를 사람에게 친숙한 방식으로 제공해주는 기술이지요. 안전한 데이터 교환을 위해 사용되는 HTTPS 와 SSL 인증서 역시 도메인 이름을 적극 사용하고 있습니다. 

 

도메인 이름에는 보통 알파벳과 숫자, 그리고 몇 가지 기호가 사용되는데요, 오늘은 그 중 알파벳에 대한 이야기를 하고자 합니다. 알파벳은 잘 아시는 것처럼 대문자 Uppercase 와 소문자 Lowercase 로 구분됩니다. 도메인 이름의 규격은 알파벳의 대문자와 소문자 중 어떤 것을 사용하도록 하고 있을까요?

 


도메인 이름에 관한 규격, RFC 1034

 

도메인 이름에 대한 규격은 RFC 1034 문서에 기술되어 있습니다. 문서의 제목은 `DOMAIN NAMES - CONCEPTS AND FACILITIES` 로 도메인, 그리고 도메인을 다루는 시스템을 설계할 때 따라야 하는 규격들에 대한 이야기를 하고 있는 문서입니다. 

 

문서의 초두에 나오는 목적 Goal 절을 읽어보면 도메인 이름의 규격이 왜, 어떻게 정해졌는지를 가늠할 수 있는 내용들이 나옵니다. 그 중에서도 가장 눈에 띄는 것은 역시 영어는 두괄식이다라는 것을 느끼게 해줍니다. 첫번째 문단에 나온 내용은 아래와 같습니다. 

 

The primary goal is a consistent name space which will be used for referring to resources. (RFC 1034, p2)

 

DNS 와 도메인을 사용하는 이유는 명확합니다. 네트워크에 연결되어 있는 자원들 중 내가 필요로 하는 리소스를 쉽게, 일관성 있게 찾을 수 있도록 해주기 위함입니다. 이를 위해서 일관된 규칙을 갖는 네임스페이스를 만드는 것이 설계의 목적입니다.

 

대문자와 소문자를 허용하는 것, 그리고 실제로 그것이 어떤 리소스를 지칭하도록 해야 하는가? 에 대한 답은 이미 여기서 나왔다고 생각합니다. 미국 뉴욕의 엠파이어 스테이트 빌딩을 이야기 할 때, EMPIRE STATE BUILDING 이든 empire state building 이든 상관이 없어야겠죠? (문법적으로 고유명사는.... 과 같은 이야기는 일단 자치합시다!)

 

RFC 1035 와 겹치는 내용들이 많습니다

 

대소문자 모두 사용할 수는 있지만 둘은 동일하다!

 

우리가 궁금해 하는 대소문자 사용에 대한 이야기는 문서의 10 페이지에 언급됩니다. 3.5 절의 뒷 부분에 가면 Note that 으로 시작하는 문장이 나옵니다. 여기서 문서는 도메인을 다루는 시스템에서 도메인 이름은 대소문자를 모두 사용할 수 있다고 이야기 하고 있습니다. 

 

하지만 중요한 것은 이어지는 문장입니다. "No significance is attached to the case" 대소문자 구분은 별로 의미 없다는 말입니다. 그리고 혹시나 오해가 생길까봐 That is 로 한번 더 확인사살을 해주고 있습니다. 

 

Two names with the same spelling but different case are to be trated as if identical. (RFC 1034, p10)

 

즉, 대소문자를 자유롭게 사용할 수 있긴 하지만 동일한 것으로 취급해야 한다는 결론입니다. Stack Overflow 등에 올라오는 글들을 보다 보면 특정한 제품군 등에서는 대소문자를 구분하는 경우도 있고, 브라우저들이 어떻게 핸들링 하는가에 대한 이슈도 있긴 한 것 같습니다. 그렇지만 일단 규격이 이야기 하는 것은 대소문자에 관계 없이 동일한 것으로 취급해야 한다라는 점, 기억해 두시기 바랍니다!

 

 

RFC 1034 - Domain names - concepts and facilities

[Docs] [txt|pdf] [Tracker] [Errata] Updated by: 1101, 1183, 1348, 1876, 1982, 2065, INTERNET STANDARD 2181, 2308, 2535, 4033, 4034, 4035, 4343, 4035, 4592, 5936, 8020, 8482 Errata Exist Network Working Group P. Mockapetris Request for Comments: 1034 ISI Ob

tools.ietf.org

 

 

 

728x90
728x90
도메인을 등록하기 전에 꼭 해보는 것이 후이즈(WHOIS) 정보 검색입니다
도메인을 등록하게 되면 도메인 성격에 따라 여러가지 후이즈 서버에 정보가 등록되게 됩니다
도메인을 소유한 사람의 정보라던가 도메인의 유효기간 등이
후이즈 서버에 등록된 정보에 노출되게 되는 것이지요.


보통 간편하게 후이즈 도메인 검색을 하려면
한국 인터넷 진흥원(KISA)이 제공하고 있는 WHOIS 정보를 이용하면 편리합니다.
한국 도메인을 검색할 때는 특히 유용하고 글로벌 도메인들도 검색이 잘 됩니다.

하지만 국가별로 할당된 도메인의 경우
한국 인터넷 진흥원이 제공하는 WHOIS 페이지에서 검색이 안될때도 많습니다.
이럴때는 각 국가별 NIC 이 제공하는 WHOIS 서버를 이용해야 합니다
필요할 때마다 구글로 찾아도 되지만 아래와 같이 텔넷 명령으로도 검색이 가능합니다

도메인별 NIC 서버 정보는 요기로 :  http://www.nirsoft.net/whois_servers_list.html

 
텔넷 연결이 잘 되었으면.. (아무 메세지도 안나옵니다!!)
검색하고자 하는 도메인을 입력하면 결과가 출력됩니다

 
유용하게 사용하시기 바랍니다! 

가비아(Gabia)에서 도메인 등록 및 조회, 낙장 도메인 정보를 쉽게 확인하자! [바로가기]

 

728x90

+ Recent posts