Posts

호스트 설정하기

hosts 파일이란?

운영체제는 hosts 파일을 이용해 특정 도메인 이름을 특정 IP 주소로 매핑하며, IP(TAB)도메인 형식으로 작성된다.

1
127.0.0.1   localhost

127.0.0.1은 루프백 (loopback) 주소로, 자신의 컴퓨터를 의미한다. localhost는 이 주소에 대한 호스트 이름으로 설정되어 있다. 따라서 브라우저나 터미널에서 localhost를 입력하면, 실제로는 127.0.0.1로 접속하게 된다.
예를 들어, 아래와 같이 작성하면 localhost 대신 test.com이라는 도메인으로도 자신의 컴퓨터에 접속할 수 있게된다.

1
127.0.0.1   test.com

hosts 파일 수정 방법

hosts 파일을 수정하려면 우선 메모장을 관리자 권한으로 실행해야 한다. 관리자 모드로 연 메모장에서 파일 > 열기C:\Windows\System32\drivers\etc 경로의 hosts 파일을 열어준다. 이때 hosts 파일이 보이지 않으면 텍스트 문서 (*.txt)에서 모든 파일 (*.*)로 필터를 변경해주면 된다.

hosts 파일을 더블 클릭해서 열면 아래와 같은 내용을 확인할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

(설정하고자 하는 IP와 도메인 작성)
(네이버 IP)  www.naver.com   naver   # 이런 식으로 별칭을 추가해 설정하면 naver만 입력해도 네이버 사이트에 접속할 수 있다.

가장 하단에 설정하고자 하는 IP와 도메인을 작성한 후 저장하면 호스트 설정이 반영된다.

주의사항

다만, 호스트 파일과 관련해 주의해야 하는 점이 있다.

  1. ping 테스트는 실패할 수 있다.
    • 일부 사이트는 보안을 위해 변경된 도메인을 감지 -> 접속을 차단하기도 한다. 따라서 해당 사이트의 IP를 등록한 뒤 ping 테스트를 수행하면 100% 패킷 손실이 발생할 수 있다.
  2. 보안 상 악용될 수 있다.
    • hosts 파일은 보안 취약점으로 악용될 수 있다. 예를 들어, (네이버IP)를 다른 IP (ex:127.0.0.1)로 등록한다면 어떻게 될까? 네이버 주소를 입력해도 로컬 컴퓨터가 접속된다. -> 이건 이렇게 악용할 수 있다. 타인의 컴퓨터를 해킹해 hosts 파일에 (네이버와 동일하게 꾸민 사설 IP) www.naver.com 을 추가한다면, 사용자가 네이버 주소를 치고 들어갔을 때 사설 IP로 접근이 된다. 여기서 사용자가 로그인을 시도한다면 사용자의 ID / PW를 알아낼 수 있게 될지도 모른다.

회고

로컬 테스트를 위해 종종 사용하던 기능이라 단순히 잊지 않기 위해 정리를 시작했지만, hosts 파일 하나에도 다양한 보안 요소와 활용 방법이 있다는 점이 새삼 흥미로웠다. 더 많은 것을 알게 될 때까지 공부해야겠다.

이 포스트는 저작권자의 CC BY 4.0 라이센스를 따릅니다.