-
<Network> DNS 캐시 테이블Network 2021. 11. 8. 22:06
1. 사용자가 도메인 네임을 입력하면 운영체제는 해당 도메인 네임에 해당하는 IP 주소를 etc/hosts 파일에서 먼저
검색한다.
2. 만약 etc/hosts 파일에 입력한 도메인 네임이 없다면, DNS 캐시 테이블에서 해당 도메인 네임에 대응하는 IP 주소를 검색한다.
3. 그렇지만 DNS 캐시 테이블에도 해당 도메인 네임이 없다면 운영체제는 로컬 DNS 서버의 IP 주소로 입력한 도메인 네임에 대한 질의를 요청한다.
운영체제는 로컬 DNS 서버로부터 도메인 네임에 대한 IP 주소를 응답받으면 해당 내용을 DNS 캐시 테이블에 반영한다.
이처럼 도메인 네임과 IP 주소의 대응 관계를 저장한 테이블을 DNS 캐시 테이블이라 한다.
ARP 요청을 받아 목적지 맥 주소를 ARP 캐시 테이블에 반영하는 이치와 같다.
ipconfig/flushdns 명령어와 ipconfig/displaydns 명령어는 각각 DNS 캐시 테이블을 삭제하고 출력해주는 명령이다.
ARP 동작과 DNS 동작 비교 순서 ARP 동작 DNS 동작 1 출발지 · 목적지 네트워크 ID 비교 hosts 파일 검색 2 ARP 캐시 테이블 검색 DNS 캐시 테이블 검색 3 ARP 요청과 응답 수행 DNS 요청과 응답 수행 4 ARP 캐시 테이블에 목적지 맥 주소 반영 DNS 캐시 테이블에 목적지 IP 주소 반영 ARP 캐시 테이블은 IP 주소와 맥 주소의 대응 관계를 저장하고,
DNS 캐시 테이블은 도메인 네임과 IP 주소의 대응 관계를 저장하는 일종의 데이터베이스라고 할 수 있다.
이것이 ARP 캐시 테이블과 DNS 캐시 테이블 사이의 공통점이다.
만약 ARP 캐시 테이블에 라우터의 맥 주소가 아닌 다른 누군가의 맥 주소이거나,
DNS 캐시 테이블에 도메인 네임에 대응하는 IP 주소가 실제 IP 주소와 다른 IP 주소라 한다면
사용자는 자신이 원하는 목적지로 갈 수 없을 것이다.
이처럼 ARP 캐시 테이블과 DNS 캐시 테이블에 저장한 대응 관계를 조작해 수행하는 공격을
각각 ARP 스푸핑(Spoofing) 공격과 DNS 스푸핑 공격이라 한다. DNS 스푸핑 공격을 파밍(Pharming) 공격이라 한다.
DNS 스푸핑 공격은 hosts 파일 변조를 통해서도 가능하다. 운영체제는 DNS 검색 시 hosts 파일을 우선적으로 참조하기 때문에 치명적일 수밖에 없다.
공격자가 DHCP 서버를 장악해도 위험하다. DHCP 서버는 클라이언트에게 DNS 서버 IP 주소도 할당해주는데, 공격자가 가짜 DNS 서버 IP 주소를 할당하면 클라이언트 사용자는 결국 가짜 DNS 서버를 이용할 수 밖에 없다.
이것을 DHCP 스푸핑 공격이라 한다.
'Network' 카테고리의 다른 글
<Network> 데이터 전송 단위 (0) 2021.11.17 <Network> UDP 방식과 TCP (0) 2021.11.10 <Network> ARP 캐시 테이블 (0) 2021.11.05 <Network> 물리적 주소(MAC 주소) (0) 2021.11.01 <Network> DNS 서비스 (0) 2021.11.01