Linux에서 Tor 번들과 함께 Wget을 사용하는 방법


10

나는 Linux Mint (Lisa)이고 Tor Bundle 사용자가 Tor를 통해 wget을 사용하려고합니다. 여기서 찾은 지시를 따른 후 wget을 실행할 때 얻는 것은 "514 Authentication required"라는 출력 파일입니다.

내가 한 일 : Linux 용 최신 버전의 Tor Bundle (버전 2.2.35-9)을 다운로드하여 추출했습니다. ./start-tor-browser를 실행했습니다. 그런 다음 Vidalia에서 설정-> 고급으로 이동하여 "ControlPort 자동 구성"을 선택 취소하십시오. 나중에 "Authentication"을 "None"으로 변경하려고 시도했지만 여전히 작동하지 않습니다. IP 주소가 localhost로 설정되어 있고 포트는 9051입니다.

터미널에서 나는 말했다 :

export http_proxy="http://127.0.0.1:9051"
wget -proxy=on www.whatismyip.com

이것은 www.whatismyip.com 대신 "514 인증 필요"라는 출력 파일을 제공했습니다. 어떤 아이디어?


TOR과 Vidalia에 구성 파일이 있고 user 또는 password라는 단어를 찾은 다음 사용자 이름이나 암호가 있다고 생각하지 않는지 확인하십시오.
— barlop

답변:


17

Ubuntu 또는 Debain에서 "torsocks"패키지를 설치하십시오.

sudo apt-get install torsocks

그런 다음 wget을 다음과 같이 사용하십시오.

torsocks wget http://foo.onion/data.bar

나를 위해 작동하지 않습니다. 05:19:02 libtorsocks(22594): SOCKS server refused connection토르는 9050 포트에서 실행하고,이 짐승 127.0.0.1:80에 그것을 않습니다 것 같다
— HOLMS

1
torify --help말한다torify is now just a wrapper around torsocks(1) for backwards compatibility.
— palswim

4

Tor 독립형에는 Tor 네트워크에 연결하기위한 SOCKS 프록시 만 포함되며 Tor 브라우저 번들에는 프록시가 추가되지 않습니다.

HTTP 프록시가 필요한 프로그램을 처리하는 일반적인 방법은 Privoxy 또는 Polipo와 같은 사용자 고유의 소프트웨어를 설치 한 다음 해당 프록시를 Tor에 연결하는 것입니다. 예를 들어 Privoxy의 구성에서 다음을 지정합니다.

forward-socks5  /  127.0.0.1:9050 .

그런 다음 Privoxy는 포트 8118에서 수신 대기하고 HTTP 프록시 설정을로 구성합니다 http://localhost:8118.

불행히도 Linux Mint는 이러한 패키지 중 하나를 저장소에 가지고 있지 않습니다. 배포판을 바꾸거나 직접 컴파일하는 것을 고려할 수 있습니다.



3

Tor 의 간단한 래퍼 인 Torify를 사용하십시오 ( torsocks예 :

$ torify curl ifconfig.me
$ torify wget -qO- -U curl ifconfig.me

사용하기 전에 Tor 서버가 시작되어 실행 중인지 확인하십시오.

터미널에서 프로그램을 익명화하는 방법 도 참조하십시오 . Tor SE에서


이것은 아마도 대부분의 사람들에게 가장 쉬운 솔루션 일 것입니다.
— A.Danischewski

으로 torify --help말한다, torify is now just a wrapper around torsocks(1) for backwards compatibility.이 대답은 동일하므로 torsocks 대답 .
— palswim 2016 년

0

아마 www.whatismyip.com이 X-Forwarded-For 헤더를 확인 하고 오류를 트리거했을 수 있습니다.

나는 다른 것을 테스트하는 것이 좋습니다 (이것은 내 것이기 때문에 어떤 종류의 탐지도 없으며 공개 주소 만 알고 있습니다) : http://sputnick-area.net/ip

편집 :에-proxy 있지 않은 동안 스위치를 제거해야한다고 생각합니다 man wget. IIRC, wget은 프록시 자체를 감지 할 수 있습니다. :

wget -q -O - www.whatismyip.com

sputnick-area.net/ip와 같은 문제가 있습니다. 그러나 좋은 생각이지만 그것을 테스트하는 것이 좋습니다.
— Asher Walther

위의 편집 된 게시물보기
— Gilles Quenot

매뉴얼 페이지에서 보이는 -q도 삭제할 수 있습니다. thta -q는 출력을 억제하는 것입니다. -0은 무엇입니까?
— barlop

1
-q간단하게 진행 미터를 숨 깁니다
— 질 Quenot

1
당신은 질문에 대답하지 않았습니다 = /
— holms

0

proxychains도 다음 구성으로 작업을 수행합니다.

양말 5 127.0.0.1 9150

$ proxychains curl ifconfig.me ProxyChains-3.1 ( http://proxychains.sf.net ) | DNS-request | ifconfig.me | S-chain |-<>-127.0.0.1:9150-<><>-4.2.2.2:53-<><>-OK | DNS-response | ifconfig.me가 219.94.235.40 | S-chain |-<>-127.0.0.1:9150-<><>-219.94.235.40:80-<><>-OK 178.63.97.34입니다.


0

torify는 나를 위해 일하는 것처럼 보였다 :

 torify wget https://www.some_url.com

내 웹 서버의 access.log 항목은 다음과 같습니다.

207.244.70.35 - - [13/Sep/2018:03:57:25 +0000] "GET / HTTP/1.1" 200 8446 "-" "Wget/1.17.1 (linux-gnu)" "207.244.70.35" response-time=0.02

207.244.70.35는 실제 IP가 아니므로이 명령이 작동합니다

여기 내가 찾은 것과 똑같은 일을하는 파이썬 스크립트가 있습니다.

#! /usr/bin/python3
import subprocess
from subprocess import Popen, PIPE
import sys
import os


# use torify to make a wget 
class Wgettor():
    def __init__(self, url):
        if not self.__is_activated():
            print("Ensure Tor service is running")
            sys.exit()
        else:
            self.url = url
            self.wget()

    # ensure Tor service is running
    def __is_activated(self):
        service_cmd = "service --status-all | grep tor"
        p = subprocess.Popen(service_cmd,
                             shell=True,
                             stdout=PIPE).communicate()[0]
        return "+" in str(p)

    def wget(self):
        prox = [
            "torify", "wget", self.url
        ]
        os.system(" ".join(prox))


if __name__ == "__main__":
    Wgettor("https://www.some_url_here.com")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.