จะเปลี่ยนที่อยู่ IP ที่ Tor กำหนดให้โดยใช้เทอร์มินัลได้อย่างไร?


19

มีวิธีการเปลี่ยนที่อยู่ IP ที่Torกำหนดให้จากเทอร์มินัลหรือไม่?

ฉันมีบริการ Tor และฉันต้องการเปลี่ยนที่อยู่ IP ซึ่ง Tor ให้ฉันจากเครื่องเทอร์มินัล หรือกล่าวอีกนัยหนึ่ง: ฉันจะขอที่อยู่ IP ใหม่จาก Tor บนบรรทัดคำสั่งได้อย่างไร


4
ทางที่ดีกว่าที่จะบอกว่ามันเป็นวิธีการ "เปลี่ยนแปลงตัวตน" จากขั้ว
mchid

ฉันเพิ่มคำสั่งอื่นที่ฉันพบเมื่อเรียกใช้ tor daemon บน Ubuntu ในพื้นหลัง
mchid

คำตอบ:


19

สำหรับ tor daemon ที่ทำงานบน Ubuntu ก่อนอื่นให้ลองทำดังนี้:

killall -HUP tor

หากไม่ได้ผลให้เปิดใช้งานพอร์ตควบคุมในไฟล์ torrc ของคุณ

จากนั้นตั้งรหัสผ่านสำหรับพอร์ตควบคุมด้วยรหัสผ่าน tor --hash-password

เปิดการเชื่อมต่อ telnet ไปยังพอร์ตควบคุมและออกคำสั่ง NEWNYM:

printf 'AUTHENTICATE "password"\r\nSIGNAL NEWNYM\r\n' | nc 127.0.0.1 9051

แหล่งที่มา:


1
สำหรับ newbs ที่นั่นคุณต้องตั้งรหัสผ่านที่แฮชบน torrc ของคุณดังนี้: askubuntu.com/a/989108/52975
Ciro Santilli 新疆改造改造中心法轮功六四事件

16

คุณสามารถพิมพ์หรือแทรกในสคริปต์ทุบตีของคุณ:

service tor reload

ฉันต้องการsudoแต่สิ่งนี้ได้ผล
Brian Z

สำหรับฉันแล้วนี่เป็นคำตอบที่ดีกว่าแล้ว @mchid หนึ่งคนให้ คำสั่ง reload จะทริกเกอร์การเรียกใช้งานทอร์รันเพื่อโหลดการกำหนดค่าใหม่และตั้งค่าวงจรใหม่ (และรับ IP ใหม่) คำตอบอื่น ๆ จะฆ่าการทำงานที่เรียกใช้แล้วรีสตาร์ท สิ่งนี้อาจใช้เวลานานขึ้นและทำให้บริการอื่น ๆ ขึ้นอยู่กับพร็อกซีของ tor ที่จะล้มเหลว
อเล็กซ์

ฉันไม่รู้ว่าทำไมคนอื่น ๆ ถึงแนะนำวิธีแก้ปัญหาที่ซับซ้อนในขณะที่บรรทัดง่าย ๆ นี้สามารถแก้ปัญหาได้
Mostafa Ahangarha

1
@MostafaAhangarha เพราะนี่ใช้ไม่ได้กับอินสแตนซ์ Tor หลายตัว
MewX

4

วิธีที่ 1: HUP

พูดถึงที่การเปลี่ยนที่อยู่ IP ซึ่ง Tor กำหนดให้โดยใช้เทอร์มินัลแต่รายละเอียดเพิ่มเติมมีดังนี้:

sudo killall -HUP tor

จากนั้นตรวจสอบว่า IP ของคุณมีการเปลี่ยนแปลงด้วย:

curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/

ทดสอบใน Ubuntu 17.10 พร้อมกับsudo apt-get install torรุ่น 1.6.0-5

sudo จำเป็นเนื่องจากกระบวนการเริ่มต้นโดยรูทโดยค่าเริ่มต้น

สิ่งที่สัญญาณ HUP ทำกับ Tor daemon ได้รับการบันทึกไว้แล้วที่: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt?id=03aaace9bd9459b0d4bf22a75012acf39d07bcec#n394และเทียบเท่ากับการส่งคำสั่งบางอย่างผ่านคำสั่ง พอร์ตคำสั่ง

เบราว์เซอร์ Bundle 5.0.5 ไม่ได้รับผลกระทบจากสิ่งนี้มีเพียง daemon พอร์ตเช่น 9050 ที่เป็นค่าเริ่มต้นซึ่ง TBB ไม่ได้ใช้ สำหรับกรณีการใช้งานโปรดดู: /tor/1071/how-can-a-new-circuit-happen-without-closing-all-tabs

หากคุณกำลังปรับใช้กองทัพของ Tor IP ดังที่กล่าวไว้ที่นี่คุณสามารถเลือกส่ง:

kill -HUP $PID

วิธีที่ 2: พอร์ตควบคุม

พูดถึงโดยkat :

(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051

แต่สำหรับการทำงานบน Ubuntu 17.10 คุณต้อง :

  • เปิดใช้งานพอร์ตควบคุมโดยไม่ใส่หมายเหตุ:

    ControlPort 9051
    

    จาก /etc/tor/torrc

  • 515 Authentication failed: Wrong length on authentication cookie.ตั้งรหัสผ่านที่ว่างเปล่ามิฉะนั้นมันจะช่วยให้ วิ่งครั้งแรก:

    tor --hash-password ''
    

    เอาต์พุตนี้คล้าย:

    16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    

    ตอนนี้/etc/tor/torrcอัปเดตบรรทัด:

    HashedControlPassword 16:D14CC89AD7848B8C60093105E8284A2D3AB2CF3C20D95FECA0848CFAD2
    
  • รีสตาร์ท Tor:

    sudo service tor restart
    

โบนัส: วิธีตรวจสอบว่า IP ของคุณมีการเปลี่ยนแปลง

curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/

ดูสิ่งนี้ด้วย:

หัวข้อที่เกี่ยวข้อง


วิธีแก้ปัญหาที่ซับซ้อนเช่นฟังก์ชันง่าย ๆ ( get new circuit) ฉันไม่เชื่อใจ Tor เลย ฉันคิดว่ามันเต็มไปด้วยข้อบกพร่องและบกพร่องเพื่อให้เราเปิดเผยตัวเอง
adrianTNT

3

คุณสามารถตั้งค่าพอร์ตควบคุมและใช้สคริปต์หลาม

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
    controller.authenticate()
    controller.signal(Signal.NEWNYM)

คุณรู้วิธีรอจนกว่าจะมีการตั้งค่า ip ใหม่หรือไม่?
silgon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.