2009-12-28 25 views
36

Tôi có Tor đang chạy trên máy tính của mình và tôi cần thay đổi nút thoát Tor sau mỗi năm phút. Ví dụ, nếu tôi bắt đầu sử dụng Tor thông qua một số nút thoát, sau đó trong 5 phút tôi muốn Tor thay đổi thành nút thoát với một địa chỉ IP khác. Tôi có thể làm cái này như thế nào?Làm thế nào để thay đổi nút thoát Tor lập trình để có được một IP mới?

Tor, theo như tôi biết, đang nghe cổng 8051 trên máy chủ cục bộ.

Tôi có thể gửi các lệnh nào cho cổng này để tạo Tor xây dựng một chuỗi mới để tôi có thể nhận được một địa chỉ IP khác?

Trả lời

3

Bạn không có quyền kiểm soát định tuyến trong mạng tor (nếu có, ai đó có thể lạm dụng tính năng này). Nhưng tor đã chuyển mạch khoảng 10 phút một lần (ít nhất là theo số German Wikipedia article).

+4

Đây không phải là hoàn toàn đúng, đối với những người vấp ngã trên sợi chỉ này. Bạn có thể sử dụng cổng điều khiển và sửa đổi một số cài đặt tor bên trong để tạo ra các mạch riêng của bạn. http://www.thesprawl.org/memdump/?entry=8 có thể giúp bạn bắt đầu. – chrispr

8

yeah, đó là 1 (i mean = true =))) tor đó thay đổi ip cứ sau 10 phút nhưng! nếu tôi khởi động lại tor - tôi sẽ nhận được một ip mới ngay cả trong khoảng thời gian 10 phút này. vì vậy tôi đã suy nghĩ về làm cho tor để gửi yêu cầu "change_ip" này theo cách thủ công. thấy mã này (viết theo http://en.linuxreviews.org/HOWTO_use_the_Internet_anonymously_using_Tor_and_Privoxy)

procedure ChangeIp; 
var 
    sck:TIdTCPClient; 
begin 
    sck:=TIdTCPClient.Create(nil); 
    try 
    sck.Host:='127.0.0.1'; 
    sck.Port:=10051; 
    sck.Connect; 
    sck.SendCmd('authenticate',''); 
    if sck.LastCmdResult.Code='250' then 
    begin 
     sck.SendCmd('signal newnym',''); 
    end; 
    finally 
    sck.Free; 
    end; 
end; 

và accornig tới [https://tor-svn.freehaven.net/svn/torctl/trunk/doc/howto.txt] tôi có thể viết một ứng dụng điều khiển đó sẽ thay đổi conf tor trên bay. theo mặc định nó không phải là enebled (i có nghĩa là khả năng này), nhưng tôi có thể làm cho khách hàng tor nghe một số cổng để chấp nhận lệnh sử dụng torrc ... nếu tôi không nhầm ... một lần nữa =)

! !! nơi torrc địa ngục là trên máy của tôi?

Trong C: \ Users \ geekman \ AppData \ Roaming \ Tor tôi có thể, hãy nắn nó tôi có vista.

+2

Nhờ mẹo "signal newnym" – hoju

+0

Mặc định không có torrc, bạn phải tự tạo một cái (và tôi khuyên bạn nên đọc toàn bộ hướng dẫn trước) ... tiếc là bàn điều khiển bị chặn trong cửa sổ mà không tương ứng thông qua mã python hoặc sử dụng một số phương tiện khác của đường ống đầu ra của nó vào giao diện điều khiển. –

0

Tôi đã làm điều gì đó khác ở đây ... tôi đã viết một chương trình PHP có thể giao tiếp với vỏ linux. Chương trình sẽ khởi động lại tor trong khoảng thời gian đều đặn.

Vì vậy, khi tor được khởi động lại, nó sẽ nhận được IP mới .... Yeah ..... !!

exec("/etc/init.d/tor restart",$ioOut); 
print_r($ioOut); //output from shell after executing the command 
sleep(25); 

Bạn cũng có thể viết tập lệnh shell để thực hiện việc này.

Tôi hiện đang tìm kiếm tùy chọn cửa sổ để thực hiện việc này. Vấn đề là .. trong cửa sổ Tor là một dịch vụ không thể khởi động lại được.

+1

Gửi lệnh đến Tor nhanh hơn và an toàn hơn khởi động lại toàn bộ daemon – Alexander

+0

Clain Dsilva, bạn có thể cho chúng tôi một ví dụ không? Tôi đang tìm lệnh đó và vẫn không nhận được nó .... – HoNgOuRu

+0

@HoNgOuRu lệnh Linux sẽ là "/etc/init.d/tor restart" –

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

Cảm ơn rất nhiều, cách rất nhanh để có một IP mới – Dorian

+4

Để làm việc đó, trước tiên bạn phải kích hoạt cổng điều khiển như sau: http://stackoverflow.com/a/33726166/895245 –

+2

Bí quyết tuyệt vời, nhưng lưu ý rằng điều này không _guarantee_ một IP mới - chỉ cần thay đổi nút thoát - có thể kết quả tương tự trong cùng một lần nữa;) – MatzFan

8

Câu hỏi này dường như đưa ra khá thường xuyên (1, 2) vì vậy tôi chỉ cần thêm một FAQ entry cho nó. Như đã đề cập trước đó, bạn có thể thực hiện điều này thông qua tín hiệu NEWNYM. Dưới đây là một ví dụ cho làm việc đó thông qua stem ...

from stem import Signal 
from stem.control import Controller 

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

Advtor cung cấp cho bạn truy cập cài đặt trên hầu hết các tiên tiến mà hoạt động trên mạng tor.

4

Tôi đã tạo một kịch bản lệnh shell cho chính mình cũng cho phép bạn thực hiện điều này từ xa (nếu máy chủ Tor đang chạy trên một máy khác).

Nó có sẵn ở đây: https://gist.github.com/kirelagin/9667900.

1

Bạn chỉ có thể gõ hoặc chèn vào kịch bản bash của bạn:

service tor reload 
Các vấn đề liên quan