메뉴 건너뛰기

Hello :0

[Python] Python을 이용한 Tor 접속

2014.11.15 23:54

Leekyu 조회 수:922

1. Python에서 Tor를 사용하기 위해서, 먼저 Vidaliv를 설치해준다.

- https://www.torproject.org/projects/vidalia.html.en


2. Python Socks를 다운 받는다.

- https://gist.github.com/e000/869791

SOCKS는 SOCKS 서버의 반대쪽에 있는 호스트의 연결 요청을 재지정하여 직접적인 IP 접근 없이 한쪽의 호스트가 다른 쪽의 호스트에 완전하게 액세스할 수 있도록 하는 네트워킹 프록시 프로토콜입니다. SOCKS는 권한 없는 사용자가 인터넷을 통해 내부 호스트에 액세스하는 것은 방지하면서도 SOCKS 서버 뒤의 호스트가 인터넷에 완전하게 액세스할 수 있도록 하는 네트워크 방화벽으로 널리 사용됩니다.


3. Tor  사용을 위한 Python 함수

import socks  #socks모듈 import

def connectTor(): #토르접속
    print("[+] Connected to Tor [+]")
    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050, True)
    socket.socket =socks.socksocket

def newIdentity(): #토르 새로운 IP 할당을 위해 사용하는 함수
    socks.setdefaultproxy()
    s =socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("127.0.0.1", 9051))
    s.send("AUTHENTICATE\r\n")
    
    response = s.recv(128)

    if response.startswith("250"):
        s.send("SIGNAL NEWNYM\r\n")
    s.close()