본문 바로가기
  • 철은 두드릴수록 강해지고 사람은 굴릴수록 강해진다.
IT

토르(Tor) 사용법과 IP 차단 여부 확인하기

by jangddu 2025. 8. 20.

 

 

 

 

 

 

온라인 익명성을 유지하는 가장 효과적인 방법 중 하나는 토르(Tor) 네트워크를 이용하는 것이다.

토르는 사용자의 인터넷 트래픽을 여러 개의 중계 서버를 거쳐 전송함으로써 추적을 어렵게 만든다.

이 글에서는 토르 설치부터 설정, 그리고 IP 차단 여부를 확인하는 방법까지 자세히 알아보겠다.

 

 

 

 

1. 토르(Tor) 설치 및 설정 🛠️

1️⃣ 토르 설치

🐧 Ubuntu

우분투 환경에서는 아래 명령어를 통해 토르를 설치할 수 있다.

sudo apt update
sudo apt install tor

 

설치 후 버전을 확인하고 서비스를 시작, 활성화, 상태를 점검한다.

tor --version  # Tor 버전 확인
sudo systemctl start tor
sudo systemctl enable tor
sudo systemctl status tor

🐫 Rocky

Rocky 리눅스 환경에서는 epel-release를 먼저 설치한 후 토르를 설치한다.

sudo dnf install epel-release -y
sudo dnf install tor -y

👉우분투와 마찬가지로 서비스 시작, 활성화, 상태를 점검한다.

2️⃣ 파이썬 라이브러리 설치

파이썬을 통해 토르 프록시를 사용하려면 requests[socks]와 aiohttp, aiohttp-socks 라이브러리가 필요하다.

가상 환경을 활성화한 후 설치해야한다.

pip install requests[socks]
pip install aiohttp aiohttp-socks

3️⃣  토르 설정 파일 수정

토르의 동작을 세부적으로 제어하려면 설정 파일인 torrc를 수정해야 한다.

아래 명령어로 파일을 열고 내용을 수정한다.

sudo vi /etc/tor/torrc

 

🔧주요 설정 옵션

SocksPort 9050 # 포트 설정(디폴트)
ExitNodes {US},{DE},{KR},{CA},{JP} StrictNodes 1 # 출구 노드 나라 제한
ORPort 0  # 클라이언트로만 작동하도록 설정
ExitRelay 0  # 다른 사용자의 트래픽이 내 컴퓨터를 통해 나가지 않도록 설정
NewCircuitPeriod 3600  # 새로운 토르 경로(회로)를 생성하는 주기 설정. 기본값은 600초이지만, 여기서는 1시간3600초으로 설정함
RelayBandwidthRate 1000 KBytes # 속도제한 초당 1000KB=1MB
RelayBandwidthBurst 2000 KBytes

👉 수정 후에는 변경 사항을 적용하기 위해 토르 서비스를 재시작해야 한다.

sudo systemctl daemon-reload
sudo systemctl restart tor

 

 

 

 

 

2. 토르 사용 및 IP 확인 🌍

📝 토르 프록시 테스트

토르가 제대로 작동하는지 확인하려면 curl 명령어를 사용할 수 있다.

curl --socks5-hostname 127.0.0.1:9050 http://httpbin.org/ip

👉정상적으로 연결되면 토르의 출구 노드 IP가 출력된다.

{"origin": "185.220.101.1"}

👉만약 연결이 실패하면 "Connection refused" 메시지가 나타난다.

☑️ 파이썬 스크립트로 IP 확인

파이썬 requests 라이브러리를 사용해 토르를 통해 IP를 확인할 수 있다.

import requests

proxies = {
    'http': 'socks5h://127.0.0.1:9050',
    'https': 'socks5h://127.0.0.1:9050',
}

url = "http://httpbin.org/ip"
response = requests.get(url, proxies=proxies)
print("Tor를 통해 요청한 IP:", response.text)

👉이 스크립트를 실행하면 현재 토르 출구 노드의 IP 주소가 출력된다.

📞 새로운 IP 요청하기

토르의 IP는 기본적으로 10분마다 자동으로 변경되지만, 수동으로 새 IP를 요청하고 싶다면 아래 명령어를 사용한다.

sudo pkill -HUP tor

🌐 IP 확인용 웹사이트

토르를 통해 접속했을 때의 IP를 확인하고 싶다면 아래 사이트를 이용하면 된다.

 

 

 

 

 

3. 웹사이트 IP 차단 여부 확인 🛡️

특정 웹사이트가 내 컴퓨터/서버를 차단했는지 확인하는 것은 중요하다.

✔️ 확인 방법 (Windows)

Windows 환경에서는 PowerShell의 Invoke-WebRequest를 사용해 웹사이트에

헤더(Header) 요청을 보냄으로써 차단 여부를 확인할 수 있다.

Invoke-WebRequest -Uri https://efts.sec.gov -Method Head

👉 위 명령어를 토르를 통해 실행했을 때 '403 Forbidden'과 같은 오류가 반환되면

해당 IP 또는 전체 토르 네트워크가 차단되었을 가능성이 높다.

✔️ 확인 방법 (Windows/Linux 공통)

가장 확실한 방법은 파이썬 스크립트를 사용하는 것이다.

import requests

proxies = {
    'http': 'socks5h://127.0.0.1:9050',
    'https': 'socks5h://127.0.0.1:9050',
}

url_to_test = "https://example-site-to-check.com" # 확인하고 싶은 웹사이트 URL
try:
    response = requests.get(url_to_test, proxies=proxies)
    print(f"HTTP Status Code: {response.status_code}")
    if response.status_code == 200:
        print("✅ 접속 성공! 해당 IP는 차단되지 않았습니다.")
    else:
        print(f"❌ 접속 실패. 상태 코드 {response.status_code}는 차단되었음을 의미할 수 있습니다.")
except requests.exceptions.RequestException as e:
    print(f"❌ 요청 중 오류 발생: {e}. 네트워크 문제 또는 강력한 차단이 있을 수 있습니다.")

👉 이 스크립트를 실행했을 때 200 OK 상태 코드가 나오면 접속이 허용된 것이고,

403 Forbidden, 404 Not Found 또는 연결 시간 초과 오류가 발생하면 토르 IP가 차단되었을 가능성이 매우 높다.

 

 

 

 

🌻 마무리

지금까지 토르 설치부터 IP 차단 확인 방법까지 자세히 알아보았다.

복잡해 보이지만 한 번 설정해두면 온라인 활동의 자유와 익명성을 크게 높일 수 있다.

익명성이 필요하거나 내 서버가 막혔을  때 사용하면 유용하다.

 

 

 

 

'IT' 카테고리의 다른 글

서머타임(Daylight Saving Time)과 Python으로 시간 다루기  (0) 2025.08.20
HTTP 상태 코드 정리  (4) 2025.08.19