* Windows hosts 파일 이용하기 *
1. Hosts 파일이란?
윈도우나 여타 so의 hosts 파일을 사용함으로써 비로소 여러분은 광고를 차단할 수 있고 추적으로부터도 벗어날 수 있다. 그렇다면 hosts 파일이란 무엇이며 어떻게 광고와 추적을 중단시킬 수 있는가?
간단히 답하면 다음과 같다:
hosts 파일은 비유하자면 주소록과 같은 것이다. 우리가 www.yahoo.com과 같은 주소를 컴퓨터에 쳐놓으면 브라우저는 이 사이트의 `전화번호`격인 ip주소가 있는지 hosts 파일을 찾아본다.
그래서 있으면 컴퓨터는 그 번호로 전화하게 되고 사이트가 열리게 된다. 그런데 만약 없으면 컴퓨터는 당신의 ISP(인터넷서비스 공급자) 컴퓨터에 해당 `전화번호`를 조회하고 그 후에야 비로소 사이트를 호출할 수 있게 된다. 대개 우리는 주소록에 아무것도 수록해두지 않아 거기에 번호가 없기 마련이므로 거의 모든 경우 컴퓨터는 ISP에 ip주소를 요청하게 되는 것이다.
만약 컴퓨터 hosts 파일에다 자신의 ip주소로 광고서버의 이름을 넣어두면 컴퓨터는 끝내 그 광고서버에 접속할 수 없게 된다. 이유인즉 컴퓨터가 서버에 접속시도는 하나 (그 서버대신) 자기자신을 호출하는 꼴이 되어 결국 일종의 `접속폭주` 신호만 받게 되는 것이다. 그리하여 컴퓨터는 광고서버로의 접속을 포기하게 되고 결과적으로 광고 페이지가 뜨거나 내가 추적을 당하는 일이 없게 되는 것이다. 이런 식으로 우리는 광고서버, 혐오스런 컨텐츠 서버나 기타 막고 싶은 사이트를 차단할 수 있다.
좀 더 길게 기술 관련 쪽으로 답을 하자면:
윈도우나 여타 os의 hosts 파일은 호스트명(이름)과 ip주소를 짝짓기 위해서 쓰인다. 호스트명이란 www.yahoo.com과 같이 우리가 일상적으로 보는 주소를 말하고 ip주소는 동일한 주소를 일련의 숫자로 나타낸 것인바 컴퓨터는 주소를 찾기 위해 사실상 이 숫자를 이용한다.
그러나 인간은 www.yahoo.com과 같은 언어를 가졌으므로 어떤 사이트를 찾고자 할 때 이러한 숫자의 긴 배열을 사용하는 것이 불필요한 것이다.
일례로 Yahoo! 사이트의 호스트명은 www.yahoo.com이지만 ip주소는 204.71.200.67인데 이 둘중 어떤 것을 사용해도 Yahoo! 사이트에 들어갈 수 있지만 www주소는 일차적으로 ip주소로 변환되어야 한다. 따라서 만약 우리가 직접 ip주소를 입력한다면 컴퓨터는 이를 찾지 않아도 되는 것이다.
이들 호스트명과 관련된 ip주소를 찾기 위해서 컴퓨터가 일련의 단계를 밟는 바, 그 첫번째가 우리의 관심사인 개개 컴퓨터의 hosts 파일이다. hosts 파일은 컴퓨터에게 해당 호스트명이 숫자로는 무엇인지를 가르쳐줘서 그 사이트를 찾게하는 역할을한다. 만일 hosts 파일내에서 ip주소가 발견되면 컴퓨터는 더이상 찾지않고 곧바로 그사이트로 가지만 그렇지 않으면 DNS컴퓨터(도메인 네임 서버)에 이에 관한 정보를 요청하게 된다. 일단 호스트명과 관련 ip주소의 짝이 발견되면 이 탐색과정이 끝나는 원리를 이용해서 우리는 원치않는 사이트를 차단하는 메카니즘을 얻는 것이다.
우리가 www.yahoo.com와 같은 웹 주소를 쳐 넣으면 호스트명에 해당하는 부분이 ip주소로 변환된 연후에 그 사이트에 접속이 되는데, 만약 호스트명과 관련 ip의 짝이 이미 hosts 파일 속에 들어 있으면 컴퓨터가 변환된 ip주소를 찾기 위해서 다른 데서 묻지 않아도 되므로 좀더 빨리 해당 페이지를 로딩 받을 수 있게 되는 것이다.
모든 컴퓨터는 우리가 `localhost` 주소라고 부르는 자신의 주소를 갖고 있는데, 즉 127.0.0.1이다. 컴퓨터는 이 주소로 자신을 지칭한다. 그런데 만약 다른 컴퓨터의 호스트명과 자기 컴퓨터의 ip주소를 연관시켜 짝 지워 버리면 그 사이트로의 모든 접속시도가 자신에게로 되돌아 오게 되므로
결국 효과적인 차단방법이 되는 것이다. 이것이 hosts 파일을 이용해 특정 사이트를 막는 방법이다.
우리가 차단코자 하는 사이트의 ip주소가 곧 자신의 주소라고 컴퓨터에 알려주면 컴퓨터는 영원히 그 사이트를 찾아 나서지 않을 것이다. 그리고는 이미 자신이 그 사이트를 찾아서 우리에게 보여주고 있다고 생각할 것이므로 결국 그 사이트가 우리의 시야에서 사라지게 된다.
결과는 당연히 컴퓨터는 아무것도 못 찾고 찾기를 그만두게 되며 그 페이지에서 우리가 보고자 하는 해당 부분만 계속 로딩하게 되는 것이다. 심지어 우리는 이 방법으로 컴퓨터가 광고 서버에 정보를 전송하는 것조차 막을 수가 있기 때문에 싫은 광고물을 안보는 것은 물론 그들이 하드 드라이브에 쿠키를 심어 우리의 정보를 빼가는 것도 막을 수 있다.
2. 잇점과 제약
(1) hosts 파일의 잇점
첫째, 리소스를 적게 잡아먹는다:
운영체제에 포함된 기능을 사용하므로 별도의 광고차단 프로그램을 설치하지 않아도 된다. 따라서 그만큼의 메모리나 cpu를 다른 분야에 활용할 수 있다.
둘째, http 이외의 접속에서도 작동한다:
대부분의 광고차단 프로그램은 컴퓨터상의 http (혹은 웹) 포트로 가는 ip 호출만 차단하므로 여타 전송들 (transfers)은 통과한다. 하지만 hosts 파일은 http, ftp는 물론 그외 어떤 포트 (port)로의 ip 호출도 모두 차단한다.
셋째, 수많은 추적 및 보안관련 우려를 종식시킨다:
hosts 파일은 광고와 추적 관련 회사들로 하여금 우리가 그들이 이용하는 웹페이지를 본다는 사실을 감지조차 못하게 막을 수 있는데, 이는 ip 호출이 우리의 컴퓨터를 미처 떠나기도 전에 가로 막음으로써 가능한 것이다. 이로써 그들이 우리를 부당하게 이용하는 것을 막고 우리의 보안유지를 돕는다. 127.0.0.1 주소와 함께 입력된 모든 사이트는 영원히 접속이 불가능하게 된다. 하지만 hosts 파일에 등재되지 않은 사이트는 여전히 우리를 추적하는 것이 가능하고 광고도 보낸다.
넷째, hosts 파일은 우리 자신이 설정가능하다:
hosts 파일은 내가 차단할 사이트 목록을 남이 결정해 주는 게 아니라 내 스스로 편집할 수 있다.
이것은 우리가 접근을 허용하지 않는 어떤 사이트라도 hosts 파일 내에 포함시킬 수 있다는 말이다. 여기에는 광고나 추적 사이트는 물론 당신의 자녀들이 보지 말았으면 하는 사이트들도 포함될 수 있다. 차단하고자 하는 사이트는 순전히 자신이 결정할 문제이며 전혀 다른 사람의 판단에 의존할 성질이 아니라는 것이다.
다섯째, 브라우저의 속도 향상이다:
방문코자 하는 사이트의 정확한 주소를 hosts 파일에 넣어 줌으로써 우리의 컴퓨터가 다른 컴퓨터에 문의하는 일을 덜 수 있는데, 이는 번호부를 조회하지 않고 그 사이트로 곧바로 찾아 감으로써 서핑 속도를 상당히 향상시킨다. 또한 hosts 파일을 이용한 차단기술로 광고의 로딩을 막아 웹 페이지를 훨씬 더 신속하게 볼 수 있는데, 이런 광고가 대개 화려한 그래픽으로 구성된 연유에서다.
(2) hosts 파일의 한계점
첫째, 와일드 카드를 쓸 수 없다:
즉, *.advertisement.com과 같은 호스트명을 넣을 수 없다.
둘째, ip 넘버로 된 주소로는 작동하지 않는다:
www.sitename.com과 같은 주소가 아닌 ip 주소는 컴퓨터가 웹페이지를 찾을 때 실제로 쓰는 것이다. 전자는 다만 인간이 긴 숫자열을 기억하지 않기 위해 존재하는 것이다. 여기서 우리가 할 일은 ip 넘버에 상응하는 www.sitename.com과 같은 주소를 찾아 ip주소 대신 이 주소를 막아야 하는 것이다.
예를 들면 Yahoo의 ip 주소인 201.71.200.67이 아닌 www.yahoo.com만 막을 수 있는 것이다. 그 이유는 hosts 파일의 용도가 ip 주소를 결정짓기 위한 것이기 때문이다. 만약 우리가 이미 ip 주소를 안다면 (그리고 그것을 입력한다면) 컴퓨터는 hosts 파일을 찾지 않을 것이고 그러면 해당 사이트를 막지 못할 것이다.
셋째, hosts 파일은 우리가 현재 보고 있는 사이트에서 제공하는 광고는 차단하지 못한다:
그 이유는 host 파일이 사이트 전체를 차단하지 한 사이트의 subdirectory 나 pathname만 막지는 못하기 때문이다. 일례로 subdirectory를 못 막기 때문에 www.netscape.com/ads/는 막지 못
한다. 다만 www.netscape.com로써 전체 서버를 막아야 하며 그렇게 되면 Netscape사이트에 접속이 불가능해진다. 따라서 현재 보는 사이트의 광고를 차단하려면 다른 광고차단 프로그램을 써야 할 것이다.
넷째, 어떤 사이트에는 이상작동을 유발할 수 있다:
만약 잘못하여 엉뚱한 사이트를 hosts 파일에 포함시키면 틀림없이 더이상 그 사이트를 정상적으로 볼 수 없게 된다. 이 경우 hosts 파일 리스트에서 해당 사이트를 제외시키면 고쳐질 것이다. 그리고 특정 서버에 종속된 사이트의 경우, 그 서버를 리스트에 포함시키면 그에 종속된 사이트도 함께 보지 못하게 됨을 유념해야 한다.
3. 구체적인 hosts 파일 이용법
(1) hosts.zip 파일을 내려 받아 압축을 푼다:
이 파일의 가장 최근 업데이트는 2002.5.27일에 되었다. Stephen Martin이 만든 리스트이며 그의 사이트에서 가져온 것이다. 현재 차단 서버 수는 12,800여개이다. 내가 다른 사이트에서 가져오는 것이므로 차단 서버 숫자나 업데이트 날짜는 항시 변동이 있을 수 있음을 밝히며 실제 릴리스 날짜에 정확히 바꿀 수 없음을 밝힌다. 그러나 위의 링크에서 다운받는 것은 가능한 최신 버전이다.
위에 있는 본보기 대신 자신만의 hosts 파일을 만들고 싶다면 이것을 다운받아 그 안에 있는 지시에 따라 파일의 내용을 추가하고 배치하면 된다.
만약 Windows 2000이나 XP Pro사용자라면 먼저 다음 페이지를 볼 필요가 있음*
* Windows 2000이나 XP Pro에서 hosts 파일이 작동하지 않을 경우 어떻게 해야 하는가?
먼저 hosts 파일의 맨위에 있는 "127.0.0.1 localhost"를 사용해서 시험해보고, 안되면 hosts 파일
내 모든 내용을 0.0.0.0에서 127.0.0.1포맷으로 바꾸어 시도해 본다.
Windows 2000이나 XP Pro사용자중 hosts 파일의 크기가 아주 큰 것을 사용하는 경우 시스템의 속도나 접속이 느려지는 수가 있다. 대부분의 경우 전화접속 모뎀 사용자에게서 나타나는 현상이지만 광대역 접속자에게서도 일어날 수 있다.
Windows 2000이나 XP Pro는 또한 DNS 캐시라 불리는 서비스를 포함하고 있는데 서비스 리스트의"DNS Client"라는 곳에서 찾을 수 있다. hosts 파일이나 DNSKong같은 것을 쓰기 위해서는 이 서비스를 중단시키거나 disable로 할 필요가 있다. 어떤 컴퓨터에서는 이 서비스를 disable시키지 않고도 hosts 파일을 동작시킬 수 있지만 이것을 끄고 disable시키는것이 안전하다. 이 기능을 꺼도 여러분은 결코 특이점을 감지하지 못할 것이다. 내가 아는 한 다른 어떤 윈도우도 이런 서비스를 제공하지 않는다.
(2) 컴퓨터에서 기존의 hosts 파일을 찾는다:
Windows 95/98/Me c:windowshosts
Windows NT/2000/XP c:windowssystem32driversetchosts 또는
c:winntsystem32driversetchosts
(Windows NT/2000/XP에서는 administrator 액세스가 요구됨)
주의: hosts는 hosts 파일의 이름이지 또 다른 디렉토리 이름이 아님. 확장자가 없음으로 해서 위의 예에서 또 다른 디렉토리로 보일 뿐임.
기존의 hosts 파일이 없는 상태라면 위에서 다운받아 압축을 푼 파일을 해당 os의 디렉토리에 넣어주면 된다. 그렇게 했으면 (4)로 넘어가고 아니면 (3)으로 진행.
경고: 만일 자신의 컴퓨터에 이미 hosts 파일이 있다면 추후 광고차단 효과가 불만족스럽거나 이 파일의 설치과정에서 오류가 발생할 시 복구에 대비해서 플로피 디스크나 하드 드라이브의 다른 디렉토리에 백업해둘 것을 권고한다. 예상치 못한 불행한 사태를 당하고 후회하는 것보단 안전한 것이 항상 나은 법. 백업본을 준비할 것.
(3) 만약 컴퓨터에 이미 hosts 파일이 있다면 이 단계만 실행하면 된다:
notepad로 hosts 파일을 열어보면 대략 다음과 같이 보일 것이다.
# Copyright (c) 1998 Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP stack for Windows98
# 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
127.0.0.1 localhost
자신의 hosts 파일 내용이 이와 꼭 같다면 백업만 해두고 삭제한다. 이후 다운받은 파일을 위에서 말한 각 디렉토리에 압축을 푼다.
c:windows (Windows 95/98/Me)
c:windowssystem32driversetc 또는 c:winntsystem32driversetc (Windows
NT/2000/XP Pro)
만약 hosts 파일에 다른 데이터가 존재하면 계속 진행하기 전에 꼭 백업해 놓는다. 자신의 파일 내용이 위에것과 비슷한데 추가로 다른 내용을 담고 있다면 좀 더 작업이 필요하다. 일례로
CookieCop Plus란 프로그램을 쓴다면 코멘트 부분 (#가 달린 부분: 역자주) 이후에 다음 부분이
들어가 있는게 보일 것이다.
127.0.0.1 localhost
127.0.0.1 CookieCop
기존의 파일에 이와 같은 부가적인 내용이 있으면 새 hosts 파일에도 동일한 내용을 넣고자 할 것이다. 방법은 현재의 hosts 파일을 백업후 이폴더에 다운받은 파일의 압축을 풀고 텍스트 편집기
를 이용해 이를 연다 (win 9x - wordpad; 2k,xp - notepad). 그리고 백업해둔 파일에서 해당 라인을 새로 넣은 파일로 복사해온다. "127.0.0.1" 또는 유사한 ip 넘버로 시작하는 라인들을 복사해서 새 리스트의 하단부에 추가해준 뒤 텍스트 편집기 파일에 저장하면 된다. 이 파일이 확장자 없이 저장되었는지 확인코자 한다면 "hosts"란 이름을 `다른 이름으로 저장`할때 넣어주면 된다. 확장자와 같이 저장되는 것 (예: *.txt)을 방지하기 위해 반드시 " "를 붙여줘야 한다. 만약 확장자가 붙은 것이 확인되면 이름 바꾸기를 해서 확장자를 삭제해 hosts로 바꾸면 될 것이다.
(4) 만약 프락시 서버를 이용한다면:
프락시 서버를 이용하는 사람에 한해서 이 단계가 필요하다. 프락시 서버의 예로는 WebWasher, CookieCop Plus, 그리고 ISP에 의해서 제공되는 웹 캐시 서버등이 있다. 만약 프락시 서버를 이용하지 않는다면 이곳을 건너뛰어 바로 (5)단계로 가면된다. 만약 hosts 파일이 옳게 작동하지 않는 것 같은데도 이 단계를 건너 뛰었다면 되돌아 와서 이 과정을 마치기 바란다.
익스플로러에서는 도구-인터넷 옵션- 연결을 눌러 자신의 연결 방식을 선택한다. 만약 프락시 서버를 이용한다면 "bypass proxy server for local addresses" (주소 찾기시 프락시 서버 건너뛰기)에 체크되어 있는지 확인한다.
넷스케이프의 경우 편집-설정-고급-프락시로 가서 수동 설정을 클릭한 다음 보기를 클릭하고 아래에 있는 예외 박스에 127.0.0.1을 쳐넣어 준다.
(5) 앞서 설명한 것중 이것을 놓치고 못본 경우에 대비한 경고:
만약 어떤 사이트가 hosts 파일에 수록되고 그 주소가 127.0.0.1에 맞춰져 있다면 그 사이트는 웹으로 부터 내컴퓨터에 로딩될 수 없다. 이것은 광고 사이트를 차단하는 방법이지만 동시에 보고자 하는 사이트를 못보게 될 수도 있다는 말이다. 접속이 불가능해 보이는 사이트를 보고자 한다
면 hosts 파일안에서 그 주소가 혹시 들어 있나 살펴서 있으면 제거해주면 된다. 끝내고 저장하면 그 사이트를 다시 볼 수 있게된다.
만약 hosts 파일의 기능을 완전히 중지시키고 싶다면 이름을 바꾸어 hosts.txt로 만들면 될 것이고, 다시 기능을 회복시키려면 이름을 hosts로 환원하면된다.
* 도스창에서 hosts 파일의 이름을 바꾸려면 다음과 같이 입력하면된다:
기능을 중지시킬 때: cd windows 엔터
rename hosts hosts.txt 엔터
기능을 회복시킬 때: cd windows 엔터
rename hosts.txt hosts 엔터 (이상 windows 9x)
어쩌다 hosts 파일뒤에 확장자가 붙어 버렸을 때도 이 방법으로 이름을 바꿔줄 수 있다.
그리고 NT/2000/XP의 경우 첫번째 명령행에 windows대신 windowssystem32driversetc
나 winntsystem32driversetc로 바꿔 입력하면 된다.
*만약 프락시 서버를 이용중이라면 이렇게 하면 안된다. 이렇게 하면 프락시가 작동하지 않게 되기 때문인데 이 경우 hosts 파일에서 프락시 주소를 제외한 모든 내용을 깨끗이 삭제하면 기능 중지와 같은 효과를 얻을 수 있다. 기능을 다시 회복시킬 때는 삭제했던 모든 내용을 hosts 파일내에 붙여넣어주면 된다.
(6) 그리고 나서 늘 해오던 대로 브라우저를 사용하면 즐거운 서핑이 될 것이다.
hosts 파일의 설정이 옳게 되었는지 시험해 보려면 파일에 등재된 사이트 이름 www.xxx.com을 입력해서 접속이 이루어지나 보면된다. 접속이 되지 않는다면 옳게 된 것이다. 만약 문제가 있다면 브라우저를 닫았다 다시 열어보든지 재시도 전에 캐시를 비워본다. 경우에 따라서는 재부팅이 필요할지도 모른다. 다른 시험방법은 방문하는 사이트의 대다수 광고창이 차단되는가 보는 것이다. 물론 내가 앞서 들었던 한계점 때문에 모든 광고가 다 차단되지는 않을지 모른다. 그러나 평소에 광고가 있던 위치가 비어 있다면 효과가 나타나고 있다고 말할 수 있는 것이다.
(7) 매일 새로운 광고서버가 생겨나고 있다.
이러한 신생 서버의 리스트는 Stephen Martin의 Hosts File Updates 페이지에 있다. 그곳에서 새로운 업데이트를 받아서 이미 설명한 방식으로 hosts 파일의 리스트에 붙여 넣으면 된다.
4. 주의사항
모든 사용자:
이 방법은 대다수 사용자들의 컴퓨터에서 옳게 작동하는 것으로 보였지만 불행하게도 모든 컴퓨터에서 제 가능을 발휘한다고 보장할 수 없다. 여러분에게 제 기능을 해주길 빌지만 새로운 것을 시험해 보기 전에는 데이터를 잃어버리는 것을 방지하기 위해서 반드시 시스템을 백업해 둘 것을 촉구한다.
고려사항:
hosts.txt 파일을 제공한다. 하지만 이 리스트에 있는 모든 모든 서버를 다 막아야 한다는 의미가 아니다. 그 서버를 차단하고 안하고는 개인적인 선택사항이고 본보기 파일은 원할 경우 막을 수 있는 서버들에는 어떠한 것들이 있나를 보여주기 위해서 제공하는 것이다.
여러분은 이들 모두를 차단할 수도, 일부만 할 수도, 또는 아무 것도 차단 하지 않을 수도 있지만 이는 전적으로 자신이 결정할 일인 것이다. 또한 인터네상의 모든 광고서버가 이 리스트에 등재된 것은 아니므로 각자가 자신의 리스트에 더 추가할 수도 있고 경우에 따라서는 광고를 보기위해서 리스트에서 일부 내용을 삭제할 수도 있다.
다시 말하지만 이것은 Stephen Martin의 사이트에서 가져온 본보기 리스트이며 모두 자신에게 적합한 방식으로 사용할 수 있다. 리스트상의 일부 혹은 모든 서버를 차단하고 싶지 않다면 노트패드로 리스트를 연 다음 해당 라인을 지워주면 된다.
프라이버시 유지에 관심 있는 분들을 위한 마지막 주의사항:
반복되는 말이지만 hosts 파일에 등록되지 않은 서버는 그 내용이 아무것도 차단되지 않을 뿐더러 여러분에 관한 정보를 빼가려고 시도할 수도 있고 계속 쿠키를 보낼 수도 있다. 만약 이러한 짓을 하는 서버가 있음에도 hosts 파일의 리스트에 올려 두지 않았다면 교신을 막기 위해 추가로 등록할 수 있을 것이다. hosts 파일은 개인의 프라이버시 확보를 돕는 꽤 좋은 방법이긴 하지만 이는 밟아야 할 여러 단계의 조치중 하나에 불과하다. 프라이버시에 관하여 더 많은 것을 보고자 하면 Privacy.net을 방문해 보기를 권한다.