오늘은 Tor를 이용해서 어떻게 IP를 숨길 수 있는지에 정리하는 글을 써보고자 한다.
보통 IP를 숨기기 위해서는 최종 도착지에 다른 IP를 사용하는 VPN 혹은 Proxy를 사용해야 하는데, Tor는 오픈 소스 프로젝트로 Proxy를 손쉽게 이용할 수 있다.
윈도우에서 Tor를 이용하고자 한다면 Tor 브라우저를 이용할 것으로 간단히 해결할 수 있기 때문에 만약에 개발적인 요소가 아닌 자신 혼자 사용하는 것이라면 Tor 브라우저를 다운만 받으면 된다. (다만 현재 공식 사이트가 운영이 중단되었기 때문에 실제 Tor의 서비스가 앞으로 지속될 것인지는 의문이 있는 상태)
다운로드 Tor Browser 10.0.10 한국어 – Vessoft
여기에서 소개하는 내용은 Tor를 서비스 형태로 구현해서 개발에 활용하거나, 윈도우 프록시 설정을 통해 지속적으로 사용하는 방법에 대해서 정리해 본다.
1. Tor 서비스 설치
Tor 설치를 위해서는 우선 Ubuntu에 Tor 서비스를 설치하여야 한다.
이후 Ubuntu 기준으로 apt 명령을 이용해서 서비스를 설치하자.
apt install tor
정상적으로 잘 설치 되었는지 확인을 위해서 netstat 를 통해 확인한다.
netstat -nap | grep 9050
정상적으로 설치가 완료되었다면, 9050 포트가 아래 그림처럼 오픈되어 있을 것이다.
이제 Python을 통해 이렇게 구성한 서비스를 requests의 proxies를 이용해서 아래와 같이 지정해서 사용할 수 있다.
import requests
url = 'https://ifconfig.me'
proxies = {
'http':'socks5:127.0.0.1:9050',
'https':'socks5:127.0.0.1:9050'
}
res = requests.get(url, proxies=proxies)
print(res.text)
만약 IP를 변경하고자 한다면, systemctl의 reload 명령을 이용해 구성 파일을 다시 로드하는 방식으로 IP변경역시 쉽게 가능하기 때문에 아래와 같이 파이썬 코드로 이용할 수 있을 것이다.
import requests
import subprocess
import time
url = 'https://ifconfig.me'
proxies = {
'http':'socks5:192.168.203.128:9050',
'https':'socks5:192.168.203.128:9050'
}
res = requests.get(url, proxies=proxies)
print(res.text)
subprocess.Popen(['systemctl', 'reload']+['tor']).wait()
print('tor reload')
time.sleep(2)
res = requests.get(url, proxies=proxies)
print(res.text)
서비스 reload시 새로운 구성 파일을 읽어드리는 시간이 필요하기 때문에 time.sleep을 이용해 대기시간을 갖으면 정상적으로 호출할 수 있는 구조가 된다.
아래 동영상은 Tor구성 부터 CURL 사용 및 Windows 11에서 Socks5 호출 방법에 대해서 함께 정리한 글이므로 Proxy 관련해서 궁금한 부분은 아래 동영상을 참고하면 될 것이다.
Proxy - Ip 숨기기 속이기 with curl proxy - YouTube
'Security' 카테고리의 다른 글
윈도우 - SAM Database 란, SID 해석 (0) | 2022.03.14 |
---|---|
윈도우 - 캐시 로그인과 생체 인증 (0) | 2022.03.14 |
AWS 공격 시뮬레이션 도구 - stratus (0) | 2022.03.04 |
VSCode - AWS IAM 관리 - IAM Legend (0) | 2022.02.02 |
MAC - Safari(사파리) 15 Google(구글) Account Leak (0) | 2022.01.19 |