본문 바로가기

IT보안/네트워크 해킹&보안

[ 정보보안 ] DNS 개념 및 원리 | 네트워크 정보 수집



우리가 컴퓨터마다 가지고있는 IP주소는 단순한 숫자의 나열이기 때문에 외우기가 어렵다.

그래서 외우기 쉬운 알파벳, 한글로 된 Domain이름으로 매칭해주면 편하게 쓸 수 있다.

그러한 것을 지원해주는 서비스가 바로 DNS 서비스이다.



DNS에 대한 이해

✎Domain Name System으로 숫자로 구성된 네트워크 주소인 IP주소를 사람이 이해하기 쉬운 명칭인 도메인이름으로 상호 매칭시켜주는 시스템이다.



※ 도메인 이름 조건

도메인은 영어(a~z), 숫자(0~9), 특수문자 (-)의 글자조합으로 나타낼 수 있다.

영어의 대소문자 구분은 하지 않으며, 특수문자는 '-' (하이픈, 대쉬) 만 사용가능하다.

그리고 ' - ' 기호는 도메인의 처음과 끝에 넣을 수 없다.


✎DNS의 계층구조

가장 상위 개체는 루트도메인(root, '.')이며, 최상위 레벨은 국가(조직체), 두 번째 레벨은 기관, 최하위 레벨은 서버 이름을 사용한다.

ex) www.naver.com, www.yahoo.co.kr






DNS의 동작 원리

✎DNS를 사용하려면 클라이언트에서 사용할 DNS서버를 직접 입력하거나 DHCP를 통해 자동으로 할당받아 설정 할 수 있다.


✎운영체제별 DNS 서버 등록

Linux: "/etc/resolv.conf" DNS 서버 입력 



Windows: [제어판]-[네트워크 및 공유센터]-[어댑터 설정 변경]-[현재 자신이 사용중인 이더넷 우클릭]-[속성]-[IPv4]-[속성]에서 추가

(쉽게 들어가기 위해선 윈도우 실행창[Windows키+R]을 연 후 "ncpa.cpl"을 입력해주자)





DNS 서버로부터 도메인 이름에 대한 IP 주소를 얻는 순서 - DNS 요청 구조


※DNS 서버를 가지고 있으면, 충돌 염려가 있으므로 hosts 파일을 확인하지 않는다.



 도메인 질의 순서 (www.naver.com  대한 질의)

①   Client에서 가장 먼저 hosts파일을 확인한다

②   다음 Cache파일을 확인한다

③   Client에서 IP설정  지정한 DNS서버

에게 "www.naver.com"  대한 질의를 한다

④   (KT DNS : 168.126.63.1)

⑤   DNS 서버에서 해당국가에 지정된 Root DNS에게 "com" 관리하는 DNS서버를 질의한다

⑥   "com" 관리하는 서버에게 "naver.com" 관리하는 DNS서버를 질의한다

⑦   "naver.com" 관리하는 서버에게 "www.naver.com" IP주소를 질의한다

⑧   DNS서버가 알아낸 "www.naver.com" IP주소를 Client에게 알려준다




✎윈도우에서 DNS캐시 정보 확인과 삭제

DNS 캐시 정보 확인: ipconfig /displaydns




☀DNS 캐시 정보 삭제: ipconfig /flushdns