ㅇ Tor 프로젝트는 익히 알고 있다고 가정하고, 어떤 사이트를 대상으로 Crawling을 한다고 할때 본인의 IP 노출에 따른 서비스 블럭킹을 경험할 수 있다.

ㅇ 이를 회피하는 방법은 프록시를 사용하거나, Tor를 사용하는 방법이 있다. 이번 블로그에는 Tor 기반의 python 스크립트를 사용해서 크롤링하는 법에 대해서 알아보자.

ㅇ Tor 사용에 대한 책임은 본인이 지는 것임을 명심하자.

ㅇ 본 게시물은 ubunu 12.04 LTS 환경에서 테스트하였다.

 

ㅇ 본 게시물의 출처는 아래와 같다.

http://sacharya.com/crawling-anonymously-with-tor-in-python/

 

1. Tor를 설치한다.

  • sudo apt-get update
  • sudo apt-get install tor
  • sudo /etc/init.d/tor restart

           ** 자 이러면 이런 socks listener가 9050포트상에서 동작하고 있다는 문구를 보게 될것이다.

2. 원하는 패스워드에 대해서 hashed password를 만든다.

  • tor --hash-password mypassword

3. 셋팅값(ControlPort, HashedControlPassword)을 적용하고, Tor를 다시 시작한다.

  • sudo vim(or vi or gedit) /etc/tor/torrc 

  • sudo /etc/init.d/tor restart

             

4. pytorctl 를 설치한다. pytorctl은 Tor Controller와 interaction하는 파이썬 기반의 모듈이다.

  • sudo apt-get install git
  • sudo apt-get install python-dev python-pip
  • git clone git://github.com/aaronsw/pytorctl.git
  • sudo pip install pytorctl/

5. privoxy 를 설치한다. Tor 자체가 http 프록시가 아니기 때문에 Tor 네트워크에 접속하기 위해서는 socks5를 이용하는 http-proxy포서 privoxy를 설치해야 한다. 나도 정확한 개념은 모른다. 일단 이렇게 해야 Tor 네트워크에 접속할 수 있다.

  • sudo apt-get install privoxy

 

6. Tor를 사용하기 위해서는 privoxy에게 관련된 정보를 넘겨야 한다. 즉 localhost port 9050에서 SOCKS 서버를 통과하는 모든 트래픽을 라우팅한다는 정보를 privoxy에게 알린다.

sudo vim(vi or gedit) /etc/privoxy/config로 이동하여 forward-socks5를 활성화시킨다.

  • sudo vim(vi or gedit) /etc/privoxy/config

 

 

7. Configuration을 적용하기 위하여 privoxy를 다시 시작한다.

  • sudo /etc/init.d/privoxy restart

8. Tor를 동작하기 위한 간단한 python 스크립트를 소개한다.

 

 

'Python' 카테고리의 다른 글

python setup.py 실행시 vcvarsall.bat 관련 에러  (0) 2014.12.17
으흐흐  (0) 2014.06.30
Posted by 워니후니빠
,