hosts 파일 편집하는 방법과 활용법

hosts 파일이 무엇이고 운영체제별로 어디에 있는지, 편집 전에 무엇을 준비해야 하는지를 순서대로 정리했습니다. 아래 단계를 따라 보고, 본문에서 배경과 위험 요소를 함께 확인하세요.

한눈에 보기

hosts 파일은 호스트 이름(도메인)과 IP 주소를 짝지어 두는 평범한 텍스트 파일입니다. 한 줄에 IP 주소와 하나 이상의 이름을 공백으로 구분해 적고, #으로 시작하는 줄은 주석입니다. 로컬 개발용 이름을 붙이거나 특정 도메인의 연결을 바꾸는 데 쓰이지만, 바로 그 힘 때문에 악성코드가 노리는 대상이기도 합니다. 이 글은 일반 정보이며 시스템 파일을 수정하는 일은 본인 책임 아래 신중히 진행해야 합니다.

  1. hosts 파일이 하는 일 이해하기

    hosts 파일은 도메인 이름을 IP 주소로 직접 연결해주는 텍스트 파일로, DNS 서버에 물어보기 전에 운영체제가 일반적으로 먼저 참고하는 곳입니다. 이 파일에 항목을 추가하면 특정 도메인에 접속할 때 DNS 조회를 건너뛰고 지정한 IP로 바로 연결되며, 로컬 개발 환경 구성이나 특정 사이트 접속 차단 등에 활용할 수 있습니다.

  2. 운영체제별 hosts 파일 위치 확인하기

    Windows에서는 "C:\Windows\System32\drivers\etc\hosts" 경로에 있고, Mac과 리눅스에서는 "/etc/hosts" 경로에 있습니다(Mac에서 /etc/hosts는 /private/etc/hosts를 가리키는 심볼릭 링크입니다). Windows 경로는 %SystemRoot%\System32\drivers\etc\hosts 이며, 마이크로소프트 문서는 이 폴더를 TCP/IP 설정의 DatabasePath 기본값으로 안내합니다. 파일 확장자가 없는 순수 텍스트 파일이므로 메모장이나 터미널 편집기로 바로 열어 수정할 수 있습니다.

  3. 관리자 권한으로 편집기 열기

    hosts 파일은 시스템 보호 파일이라 일반 권한으로는 저장이 되지 않습니다. Windows는 메모장을 "관리자 권한으로 실행"한 뒤 파일을 열어야 하고, Mac·리눅스는 터미널에서 "sudo nano /etc/hosts"처럼 관리자 권한 명령으로 열어야 저장까지 정상적으로 마칠 수 있습니다.

  4. 편집 전에 원본 백업해 두기

    수정하기 전에 hosts 파일을 같은 폴더나 문서 폴더에 복사해 두세요(예: hosts.bak). 잘못 고쳤을 때 복사본으로 되돌리면 되고, 나중에 낯선 항목이 생겼는지 비교하는 기준으로도 쓸 수 있습니다. 원래 있던 기본 줄과 주석은 지우지 않습니다.

  5. 작성 형식에 맞춰 항목 추가하기

    한 줄에 "IP주소 [공백] 도메인이름" 형식으로 작성합니다. 예를 들어 "127.0.0.1 myproject.local"처럼 입력하면 myproject.local로 접속할 때 내 컴퓨터 자신(127.0.0.1)으로 연결됩니다. 줄 앞에 "#"을 붙이면 해당 줄은 주석 처리되어 적용되지 않으니, 원래 있던 기본 항목은 실수로 지우지 않도록 주의합니다.

  6. 저장 후 반영 확인하기

    파일을 저장한 뒤 브라우저에서 해당 도메인으로 접속해 원하는 IP로 연결되는지 확인합니다. 브라우저나 운영체제가 이전 DNS 결과를 캐시해두고 있을 수 있으므로, 바로 반영되지 않는다면 브라우저를 재시작하거나 DNS 캐시를 삭제한 뒤 다시 시도해봅니다.

  7. 활용 예 1: 로컬 개발 도메인 매핑

    개발 중인 웹사이트를 실제 도메인 이름과 비슷한 주소로 로컬에서 테스트하고 싶을 때, "127.0.0.1 myapp.test"처럼 등록해두면 브라우저 주소창에 실제 서비스와 비슷한 이름을 입력해 로컬 서버로 접속할 수 있습니다.

  8. 활용 예 2: 특정 사이트 접속 차단

    차단하고 싶은 도메인을 존재하지 않는 주소나 자기 컴퓨터 주소(예: "127.0.0.1 도메인이름")로 연결해두면 해당 사이트로의 접속이 실패하도록 만들 수 있습니다. 광고 도메인을 대량으로 등록해 광고를 줄이는 방식으로도 활용되지만, 항목이 많아지면 관리가 번거로워 전용 광고 차단 프로그램을 함께 쓰는 경우가 많습니다.

  9. 주의사항: 악성코드의 hosts 파일 변조

    애드웨어·바이러스·트로이 목마 같은 악성코드가 hosts 파일을 바꿔 접속을 엉뚱한 곳으로 돌리거나 보안 사이트 접속을 막는 경우가 보고되어 있습니다(예: 2004년 Mydoom.B 웜). 특정 사이트만 유독 이상하게 연결되거나 보안 경고가 뜬다면, hosts 파일에 낯선 항목이 추가되어 있지 않은지 먼저 확인해보는 것이 좋습니다.

hosts 파일은 어디서 왔나

위키백과(Hosts)에 따르면 초기 ARPANET에는 분산된 호스트 이름 데이터베이스가 없어 각 노드가 이름 대응표를 직접 관리했습니다. 1971년 MITRE의 페기 카프(Peggy Karp)가 발표한 RFC 226이 호스트 이름 표기의 초기 표준으로 소개되며 최초의 hosts.txt에 해당한다고 합니다. 이후 SRI가 ARPANET 참여 기관을 위한 중앙 HOSTS.TXT를 관리했고, 1985년 10월의 RFC 952("DoD Internet host table specification")가 그 형식을 규정했습니다. 중앙 집중 방식은 관리하기 어려워졌고, 이를 해결하기 위해 도메인 이름 시스템(DNS)이 1983년 설계되어 1984년 구현되었습니다. 오늘날 hosts 파일은 DNS 이전 시대의 방식이 개인 PC의 "로컬 재정의 장치"로 남은 것이라고 이해하면 쉽습니다. DNS 조회 전체 흐름은 DNS 조회 과정 가이드에서 볼 수 있습니다.

운영체제별 hosts 파일 위치

운영체제경로참고
Windows NT 계열(Windows 11 포함)%SystemRoot%\System32\drivers\etc\hosts일반적으로 C:\Windows\System32\drivers\etc\hosts. 마이크로소프트 문서가 이 폴더를 DatabasePath 기본값으로 안내
리눅스·유닉스/etc/hosts관리자 권한(sudo)으로 편집
macOS (10.2 이후)/etc/hosts/private/etc/hosts를 가리키는 심볼릭 링크
Android / iOS/etc/hosts각각 /system/etc/hosts, /private/etc/hosts로 연결(위키백과 기준). 일반 사용자가 수정할 수 있는지는 기기·버전에 따라 다름

실제 기록으로 보는 사례

사례 1: Mydoom.B 웜과 hosts 파일 (2004년 1월)

위키백과(Mydoom)에 따르면 Mydoom 웜은 2004년 1월 26일경 처음 확인되어 당시 가장 빠르게 퍼진 이메일 웜으로 기록되었고, 최소 50만 대의 컴퓨터를 감염시킨 것으로 추정됩니다. 변종인 Mydoom.B(2004년 1월 28일 발견)는 hosts 파일을 수정해 마이크로소프트 사이트와 널리 쓰이는 온라인 백신 사이트, 보안업체 60여 곳의 웹사이트 접속을 막았다고 합니다. 이는 감염된 PC가 백신 업데이트나 제거 도구를 내려받기 어렵게 만드는 효과가 있었습니다. 여기서 배울 점은 hosts 파일이 "접속 대상을 조용히 바꿀 수 있는 장소"라는 것입니다. 특정 보안 사이트만 열리지 않는다면 hosts 파일을 점검 대상으로 삼을 이유가 됩니다. 구체적인 변조 방법은 여기서 다루지 않습니다.

사례 2: 개발자의 로컬 도메인 (가상 예시)

아래는 이해를 돕기 위한 가상 예시입니다. 개발자 A가 자기 PC의 웹 서버로 "myapp.test"라는 이름의 사이트를 시험하고 싶다고 합시다. hosts 파일 끝에 127.0.0.1 myapp.test 한 줄을 추가하면 이 PC에서 그 이름으로 접속할 때 자기 자신으로 연결됩니다. 시험이 끝나면 줄 앞에 #을 붙여 비활성화하고, 필요할 때만 다시 켭니다. 다른 PC에는 영향을 주지 않는다는 점이 이 방식의 장점입니다.

편집 전후 점검 목록

흔한 오해와 정정

한계와 더 알아볼 점

hosts 파일은 이름 하나를 IP 하나로 짝짓는 단순한 장치라서 와일드카드나 조건부 규칙은 지원하지 않는 것이 일반적입니다. 또 앱이나 브라우저가 자체 DNS(예: DNS over HTTPS)를 사용하면 hosts 설정과 다르게 동작할 수 있으므로 결과를 직접 확인해야 합니다. 보안 프로그램이 hosts 변경을 경고하거나 막는지 여부는 제품마다 달라 이 글에서는 단정하지 않습니다.

DNS 캐시도 함께 정리해보세요

hosts 파일을 수정한 뒤에도 이전 접속 정보가 남아있는 것 같다면DNS 캐시 삭제(플러시)하는 방법을 참고해 캐시를 함께 지워보세요.

도메인의 실제 DNS 조회 과정도 궁금하다면

hosts 파일이 없을 때 도메인이 어떻게 IP로 바뀌는지 전체 과정이 궁금하다면DNS 조회(질의) 과정 완전정복도 확인해보세요.

자주 묻는 질문

hosts 파일을 수정해도 저장이 안 돼요.

일반 권한으로 열었을 가능성이 큽니다. Windows는 메모장을 "관리자 권한으로 실행"한 뒤 다시 열어야 하고, Mac·리눅스는 터미널에서 sudo 명령으로 편집기를 실행해야 저장까지 정상적으로 완료됩니다.

실수로 잘못 수정하면 인터넷이 안 되나요?

hosts 파일에 잘못된 항목을 추가해도 인터넷 연결 자체가 끊기지는 않지만, 해당 도메인으로의 접속만 실패하거나 엉뚱한 곳으로 연결될 수 있습니다. 추가한 줄을 지우거나 앞에 "#"을 붙여 주석 처리하면 바로 원래대로 되돌릴 수 있습니다.

hosts 파일을 수정하기 전에 꼭 백업해야 하나요?

필수는 아니지만 강력히 권합니다. 같은 폴더에 hosts.bak처럼 복사본을 만들어 두면 실수했을 때 바로 되돌릴 수 있고, 나중에 낯선 줄이 생겼는지 비교하는 기준으로도 쓸 수 있습니다.

내 hosts 파일에 모르는 항목이 있어요. 악성코드인가요?

광고 차단 목록이나 개발 도구가 추가한 줄일 수도 있어 단정할 수 없습니다. 내가 넣지 않았고 은행·포털·보안 사이트 이름이 낯선 IP에 연결되어 있다면 바이러스 검사를 하고, 신뢰할 수 있는 보안 도구나 전문가에게 점검을 받는 것이 좋습니다.

도메인 하나에 여러 이름을 적을 수 있나요?

위키백과 기준으로 한 줄에 IP 주소 뒤에 여러 이름을 공백으로 이어 쓸 수 있고, 같은 이름을 IPv4와 IPv6 주소에 각각 대응시킬 수도 있습니다.