맨위로가기

Hosts

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Hosts 파일은 IP 주소와 호스트 이름을 매핑하는 텍스트 파일로, 시스템의 이름 확인에 사용된다. 각 줄은 IP 주소와 하나 이상의 호스트 이름으로 구성되며, 공백이나 탭으로 구분된다. hosts 파일은 로컬 도메인 리디렉션, 인터넷 리소스 차단, 소프트웨어 불법 복제 방지, 네트워크 문제 해결 등 다양한 용도로 사용될 수 있다. 파일의 위치는 운영 체제에 따라 다르며, 멀웨어 공격의 대상이 될 수 있어 보안에 유의해야 한다. DNS, NIS 등 다른 이름 확인 시스템과의 우선순위 관계도 존재한다.

2. 파일 내용

hosts 파일은 텍스트 파일로, 각 줄은 IP 주소와 하나 이상의 호스트 이름으로 구성된다.[3] 각 필드는 흰 공백이나 탭으로 구별되는데, 역사적으로 탭이 선호되지만 공백도 사용된다. 주석 줄은 해시 문자(#)를 줄의 첫 위치에 놓으면 된다. 파일 내의 완전히 비어있는 줄들은 무시된다.[4]

2. 1. 형식

각 필드는 공백(또는 탭)으로 구분된다. 주석은 '#' 문자로 시작하며, 빈 줄은 무시된다.[3][4]

예시:

```

127.0.0.1 localhost loopback

::1 localhost

```

이 예시는 시스템의 루프백 주소와 해당 호스트 이름에 대한 항목만 포함하며, `hosts` 파일의 일반적인 기본 내용이다. IP 주소가 여러 호스트 이름(''localhost'' 및 ''loopback'')을 가질 수 있으며, IPv4IPv6 IP 주소 모두에 매핑될 수 있음을 보여준다.

`hosts` 파일은 텍스트 파일이며, 각 행은 다음과 같은 형식으로 작성된다.

```

IP 주소 호스트 이름...

```

IP 주소와 호스트 이름의 구분은 공백 또는 탭을 사용한다. 호스트 이름은 한 줄에 여러 개를 쓸 수 있으며, 가장 왼쪽에 있는 것이 "정식"으로 간주된다. IP 주소에서 호스트 이름으로 변환할 때 "정식" 호스트 이름이 반환된다.

다음은 예시이다.

```

127.0.0.1 localhost

211.115.107.162 ja.wikipedia.org commons.wikimedia.org

```

이 예시에서는 localhost의 IP 주소가 127.0.0.1(루프백 주소)이며, ja.wikipedia.org와 commons.wikimedia.org의 IP 주소가 211.115.107.162로 정의되어 있다.

2. 2. 동작 원리

TCP/IP를 사용하는 애플리케이션을 실행하면, 거기에서 호출되는 리졸버 라이브러리가 hosts 파일을 읽어들여, 그 내용에 따라 IP 주소와 호스트 이름의 상호 변환(이름 해결)을 수행한다.[1]

hosts 파일의 변경 사항을 적용하려면 애플리케이션을 다시 시작해야 할 수 있다.[1]

3. 파일 시스템에서의 위치

파일 시스템 계층에서 hosts영어 파일의 위치는 OS에 따라 다르다. 파일 이름은 일반적으로 확장자 없이 'hosts'이다.

3. 1. 주요 운영 체제별 위치

hosts영어 파일의 위치는 운영 체제에 따라 다르다. 파일 이름은 일반적으로 확장자 없이 `hosts`이다.

운영 체제버전위치
유닉스, 유닉스 계열, POSIX/etc/hosts[21]
마이크로소프트 윈도우3.1%WinDir%\HOSTS
95, 98, ME%WinDir%\hosts[22]
NT, 2000, XP,[23] 2003, 비스타,
2008, 7, 2012, 8, 10, 11
%SystemRoot%\System32\drivers\etc\hosts[24]
윈도우 모바일, 윈도우 폰HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts 아래의 레지스트리
애플 매킨토시9 이상환경설정 또는 시스템 폴더
맥 OS X 10.0 – 10.1.5[25](NetInfo나 niload를 통해 추가)
맥 OS X 10.2 이상/etc/hosts (/private/etc/hosts의 심볼릭 링크)[25]
노벨 넷웨어SYS:etc\hosts
OS/2 & eComStation"시동 드라이브":\mptn\etc\
심비안심비안 OS 6.1–9.0C:\system\data\hosts
심비안 OS 9.1+C:\private\10000882\hosts
MorphOS넷스택ENVARC:sys/net/hosts
아미가OS4DEVS:Internet/hosts
AROSENVARC:AROSTCP/db/hosts
안드로이드/etc/hosts (/system/etc/hosts의 심볼릭 링크)
iOSiOS 2.0 이상/etc/hosts (/private/etc/hosts의 심볼릭 링크)
TOPS-20HOSTS.TXT
플랜 9/lib/ndb/hosts
BeOS/boot/beos/etc/hosts[26]
하이쿠/boot/common/settings/network/hosts[26]
OpenVMSUCXUCX$HOST
TCPwareTCPIP$HOST
RISC OS!Boot.Resources.!Internet.files.Hosts
나중에 나온 시동 시퀀스!Boot.Choices.Hardware.Disabled.Internet.Files.Hosts[27]


4. 역사

인터넷의 전신인 ARPANET은 분산된 호스트 이름 데이터베이스를 가지고 있지 않았다. 각 네트워크 노드는 필요에 따라 자체적으로 네트워크 노드 맵을 유지했으며 시스템 사용자들이 기억하기 쉬운 이름을 할당했다. 네트워크의 특정 노드에 대한 모든 참조가 동일한 이름을 사용하도록 보장하는 방법은 없었으며, 다른 컴퓨터의 hosts 파일을 읽어 자동으로 복사본을 얻는 방법도 없었다.[1]

ARPANET의 작은 규모는 정확한 hosts 파일을 유지하는 데 드는 관리 부담을 적게 유지했다. 네트워크 노드는 일반적으로 하나의 주소를 가지고 여러 개의 이름을 가질 수 있었다. 그러나 TCP/IP 컴퓨터 네트워크가 인기를 얻으면서 네트워크와 네트워크 노드가 점점 더 자주 시스템에 추가됨에 따라 hosts 파일의 유지는 시스템 관리자에게 더 큰 부담이 되었다.[1]

RFC 952에 명시된 파일 ''HOSTS.TXT''의 형식 사양과 RFC 953에 설명된 호스트 이름 서버와 같은 배포 프로토콜과 같은 표준화 노력이 이러한 문제를 해결하는 데 도움이 되었지만, hosts 파일의 중앙 집중적이고 단일체적인 특성으로 인해 결국 분산된 도메인 네임 시스템 (DNS)의 생성이 필요하게 되었다.[1]

5. 용도

오늘날 DNS가 널리 사용되면서 hosts 파일의 용도는 제한적이지만, 다음과 같은 경우에 유용하다.


  • 로컬 도메인 리디렉션: 일부 웹 서비스 및 인트라넷 개발자와 관리자는 회사 내부 리소스 접근, 개발 중인 로컬 웹사이트 테스트 등 다양한 목적으로 LAN에서 로컬로 정의된 도메인을 사용한다.[14]
  • 소프트웨어 불법 복제: 일부 불법 복제된 소프트웨어 버전은 소프트웨어가 게시자의 활성화 서버에 접속하지 못하도록 수정된 hosts 파일을 사용하기도 한다.[18]

5. 1. 로컬 개발 및 테스트

호스트 파일은 로컬 시스템에서 사용할 호스트 이름 또는 도메인 이름을 정의하는 데 사용되어 호스트 이름을 해석하는 기능을 제공한다.

일부 웹 서비스 및 인트라넷 개발자와 관리자는 회사의 내부 리소스에 접근하거나 개발 중인 로컬 웹사이트를 테스트하는 등 다양한 목적으로 LAN에서 로컬로 정의된 도메인을 정의한다.[14]

5. 2. 네트워크 문제 해결

DNS가 불안정하여 호스트 이름을 해석할 수 없는 경우, hosts 파일을 사용하여 대체할 수 있다. 특정 호스트의 IP 주소를 알고 있으며, 일단 거기에 접속할 수 있으면 된다는 경우에는 임시 방편으로 유효하다.

예를 들어, 위키백과의 DNS가 불안정한 경우, 앞서 언급한 예시처럼 기술해 두면, ja.wikipedia.org나 commons.wikimedia.org에 접속할 수 있게 된다.

DNS의 특성상, 특정 호스트의 IP 주소가 변경되면 외부 DNS의 데이터베이스가 즉시 갱신되지 않아 접속할 수 없게 되는 경우가 있다. 이 경우에도 일시적인 대책으로 사용된다.

다만, 외부의 호스트명이나 IP 주소는 언제 변경될지 모르므로, 평소에 이러한 사용법은 피해야 한다.[18]

5. 3. 인터넷 리소스 차단

hosts 파일의 항목은 온라인 광고를 차단하거나 스파이웨어, 애드웨어 및 기타 멀웨어가 포함된 알려진 악성 리소스 및 서버의 도메인을 차단하는 데 사용될 수 있다.[15] 이는 해당 사이트에 대한 항목을 존재하지 않는 다른 주소 또는 로컬 머신과 같은 무해한 대상으로 리디렉션하도록 추가하여 달성할 수 있다.[15] 상용 소프트웨어 애플리케이션은 알려진 바람직하지 않은 인터넷 리소스를 포함하는 항목으로 hosts 파일을 자동으로 채우는 데 사용될 수 있다. 또한, 사용자가 생성한 hosts 파일은 불쾌한 서버를 차단하여 공개적으로 사용할 수 있다.[16][17]

Fravia는 그의 광고 차단 페이지에서 호스트의 이러한 사용법이 처음 게시되었을 때 이러한 파일을 "두루마리", "귀중한", "강력한"으로 다양하게 묘사했다.[17]

5. 4. 소프트웨어 불법 복제 방지 (한국의 관점)

일부 불법 복제된 소프트웨어 버전은 소프트웨어가 게시자의 활성화 서버에 접속하지 못하도록 수정된 hosts 파일에 의존한다.[18] 활성화 서버는 때때로 범용 hosts 파일에 나타나기도 한다.[18] 이는 불법 소프트웨어 사용을 막고, 정품 소프트웨어 사용을 장려하는 효과를 가져올 수 있다.

5. 5. 기타

hosts 파일은 운영 체제 부팅 시 최소한 필요한 호스트 이름(예: localhost)을 정의하는 데 사용된다.[14] 일부 안티바이러스 소프트웨어는 이메일 검사를 위해 hosts 파일을 활용하기도 한다.[15] 예를 들어, 이메일 클라이언트의 POP 서버 설정이 'mail.example.ne.jp'로 되어 있고 hosts 파일에 'localhost'만 기술되어 있을 때, 안티바이러스 소프트웨어를 설치하고 이메일 스캔을 활성화하면 소프트웨어는 POP 프록시로 기능하며 hosts 파일을 '127.0.0.1 localhost mail.example.ne.jp'와 같이 수정한다. 이를 통해 이메일 클라이언트는 실제로는 로컬 프록시인 안티바이러스 소프트웨어에 접속하게 되고, 안티바이러스 소프트웨어는 실제 'mail.example.ne.jp'에서 메일을 받아 바이러스 검사 후 클라이언트에 전달한다. 이 방식은 이메일 클라이언트 설정을 변경하지 않고도 이메일 클라이언트와 POP 서버 사이에 개입할 수 있게 해준다. 그러나 안티바이러스 소프트웨어가 작동하지 않거나 제거가 제대로 안 되면 메일 수신이 불가능해질 수 있다. 모든 안티바이러스 소프트웨어가 이 방식을 쓰는 것은 아니다. NIS 환경에서 hosts 맵을 사용하는 경우, NIS 서버는 배포할 정보를 hosts 파일에 보관한다.[16][17]

6. 보안 문제

hosts 파일은 멀웨어의 공격 대상이 될 수 있다.[28] 애드웨어, 컴퓨터 바이러스, 트로이 목마와 같은 소프트웨어는 hosts 파일을 수정하여 사용자가 의도하지 않은 악의적인 사이트로 트래픽을 리디렉션할 수 있다.[19]

일반적으로 DNS보다 hosts 파일이 우선 참조되기 때문에, 스파이웨어 등의 멀웨어가 사용자를 가짜 호스트로 유도하는 파밍 사기가 발생할 수 있다.

6. 1. 멀웨어 공격

hosts 파일은 애드웨어, 컴퓨터 바이러스, 트로이 목마와 같은 멀웨어의 공격 대상이 될 수 있다. 멀웨어는 hosts 파일을 변경하여 사용자가 원하는 웹사이트 대신 악성 콘텐츠를 제공하는 사이트로 접속하게 만들 수 있다.[28][19] 이를 파밍이라고 한다.

마이둠.B는 널리 퍼진 컴퓨터 웜의 일종으로, 사용자가 컴퓨터 보안 및 안티 바이러스 소프트웨어 관련 사이트에 접속하는 것을 막고, 감염된 컴퓨터에서 Microsoft Windows Update 웹사이트에 접근하는 것도 차단하는 방식으로 동작한다.

일부 멀웨어는 hosts 파일을 불러오는 라이브러리 자체를 수정하여 제어하기도 한다.[20]

6. 2. 보안 대책

hosts 파일은 애드웨어, 컴퓨터 바이러스, 트로이 목마와 같은 악성 소프트웨어의 공격 대상이 될 수 있다.[28] 악성 소프트웨어는 hosts 파일을 변경하여 사용자가 접속하려는 사이트 대신 악의적인 사이트로 연결되도록 할 수 있다.[19] 널리 퍼진 컴퓨터 웜 마이둠.B는 사용자가 컴퓨터 보안 및 안티 바이러스 소프트웨어 관련 사이트를 방문하지 못하게 하고, 감염된 컴퓨터에서 Microsoft Windows Update 웹사이트에 접속하는 것을 차단했다.

일부 멀웨어는 hosts 파일을 불러오는 라이브러리를 수정하여 제어 가능한 파일로 리디렉션하기도 한다.[20] 스파이웨어 등의 멀웨어가 hosts를 수정하여 사용자를 가짜 호스트로 유도하는 파밍 사기가 발생할 수 있는데, 이는 hosts가 일반적으로 DNS보다 우선 참조되는 점을 악용한 것이다.

다음은 hosts 파일 보안을 위한 대책이다.

  • hosts 파일의 쓰기 권한을 제한한다. (단, 관리자 권한으로 작동하는 멀웨어에는 효과가 없을 수 있음)
  • hosts 파일 변경을 감시하는 보안 소프트웨어를 사용한다.
  • hosts 파일 내용을 주기적으로 확인한다.
  • 특히 온라인 쇼핑, 온라인 뱅킹, 소프트웨어 다운로드 시에는 올바른 서버인지 확인해야 한다.

7. 다른 이름 확인 시스템과의 관계

호스트 파일은 도메인 이름 시스템(DNS)과 같은 다른 이름 확인 방법보다 우선적으로 사용되기도 하지만, 많은 시스템이 이름 서비스 스위치(nsswitch.conf)를 구현하여 사용자 지정을 제공한다. 호스트명과 IP 주소의 대응을 처리하는 기능은 hosts 외에 DNS가 있다.[1] 또한, NIS의 hosts 맵도 사용되는 경우가 있다.[1] 이러한 기능 중 몇 가지를 함께 사용하는 환경에서는 우선 순위가 문제가 된다.[1]

현대적인 유닉스에서는 `/etc/nsswitch.conf`와 같은 정의 파일에서 우선 순위를 정의할 수 있다.[1] 윈도우에서는 hosts가 우선시되고, 그 다음으로 DNS가 참조된다.[1]

참조

[1] 웹사이트 The Most Widely Used Name Server Software: BIND http://www.isc.org/d[...] 2017-07-01
[2] 서적 Cisco Networking Academy Program: First-Year Companion Guide Cisco Systems 2002
[3] 서적 Penetration Testing: A Survival Guide https://books.google[...] Packt Publishing Ltd 2017-01-18
[4] 웹사이트 Hosts(5) - Linux manual page https://man7.org/lin[...]
[5] 웹사이트 Linux Network Administrators Guide: Writing hosts and networks files https://www.tldp.org[...] 2010-05-16
[6] 웹사이트 Hosts File http://support.isoc.[...] 2011-08-10
[7] 웹사이트 Microsoft KB Q314053: TCP/IP and NBT configuration parameters for Windows XP http://support.micro[...] 2010-08-28
[8] 웹사이트 Microsoft KB 972034 Revision 2.0: default hosts files http://support.micro[...] 2010-08-28
[9] 웹사이트 Mac OS X: How to Add Hosts to Local Hosts File http://support.apple[...] 2010-08-28
[10] 웹사이트 The Haiku/BeOS Tip Server http://betips.net/19[...] 2012-11-30
[11] 웹사이트 Haiku UserGuide:Network https://www.haiku-os[...] 2019-01-17
[12] 문서 RISC OS 6.14
[13] 웹사이트 Writing hosts and networks Files https://tldp.org/LDP[...] 2021-03-02
[14] 웹사이트 Building / Testing via the Hosts File https://web.osu.edu/[...] OCIO 2015-10-09
[15] 웹사이트 Gordon and -Tx explanations about the use of Gordon's hosts file http://search.lores.[...] "+Fravia" 2018-08-05
[16] 웹사이트 /etc/hosts to block shock sites etc. https://gist.github.[...] 2018-08-05
[17] 웹사이트 Antiadvertisement Lab http://search.lores.[...] "+Fravia" 2018-08-05
[18] 웹사이트 yhosts https://raw.githubus[...] 2021-06-21
[19] 웹사이트 Remove Trojan.Qhosts http://www.symantec.[...] 2010-05-16
[20] 웹사이트 Hosts file hijacks https://blog.malware[...] 2016-09-21
[21] 웹인용 Linux Network Administrators Guide – Writing hosts and networks files http://linux.about.c[...] 2010-05-16
[22] 웹인용 Hosts File http://support.isoc.[...] 2011-08-10
[23] 웹인용 Microsoft KB Q314053: TCP/IP and NBT configuration parameters for Windows XP http://support.micro[...] 2010-08-28
[24] 웹인용 Microsoft KB 972034 Revision 2.0: default hosts files http://support.micro[...] 2010-08-28
[25] 웹인용 Mac OS X: How to Add Hosts to Local Hosts File http://support.apple[...] 2010-08-28
[26] 웹인용 The Haiku/BeOS Tip Server http://betips.net/19[...] 2012-11-30
[27] 문서 RISC OS 6.14
[28] 웹인용 Remove Trojan.Qhosts – Symantec http://www.symantec.[...] 2010-05-16



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com