Modificarea BAT / IP în TOR cu telnet
Portul pe care Tor va asculta pentru conexiunile locale de la Tor
## aplicații ale regulatorului, așa cum este documentat în control-spec.txt.
ControlPort 9051
Dacă activați portul de control, asigurați-vă că activați unul dintre acestea
## metodele de autentificare, pentru a împiedica atacatorii să-l acceseze.
HashedControlPassword 16: B55A3F6B52F34E55609F6676DDBCEF4FD2BA7E318D9AF45AF878DB8A30
#CookieAuthentication 1
## Activarea CookieAuthentication va obliga Tor să creeze un fișier de serviciu,
Și procesele care cunosc conținutul acestui fișier vor putea fi conectate la portul de control.
Suma hash a parolei este obținută după cum urmează: trebuie să executați comanda tor --hash-password 'new_tor_password' - în răspuns primim codul hash al parolei generate
ibm: $ telnet 127.0.0.1 9051
Încercarea 127.0.0.1.
Conectat la 127.0.0.1.
Caracterul de evacuare este '^]'.
AUTHENTICATE "new_tor_password"
250 OK
semnalul NEWNYM
250 OK
părăsi
Și în cazul în care utilizați Tor mai vechi decât 0.2.3.1-alfa, folosind SETEVENTS SIGNAL. Schimbarea lanțului de servere poate arăta astfel:
ibm: $ telnet 127.0.0.1 9051
Încercarea 127.0.0.1.
Conectat la 127.0.0.1.
Caracterul de evacuare este '^]'.
AUTHENTICATE "new_tor_password"
250 OK
SEMNALIZAREA SEMNALELOR
250 OK
SIGNAL NEWNYM
250 OK
650 SIGNAL NEWNYM
părăsi
Linia 650 SIGNAL NEWNYM raportează finalizarea cu succes a schimbării serverului.
Shell script pentru schimbarea IP automată în TOR
Desigur, nu este foarte interesant să te urci și să-l schimbi mereu cu mâinile. Simplificați și automatizați acest proces utilizând un script, pe care îl puteți agăța mai târziu, de exemplu, un alias pentru bash sau un buton de comenzi rapide în Gnome. Scriptul folosește utilitarul pentru a automatiza aplicațiile interactive (am folosit gol-aștept să nu mai adaugă și tcl):
#! / bin / sh
# Schimbarea automată a BAT în TOR
gol -f -i torin -o torout telnet 127.0.0.1 9051
gol -s -o torin "AUTHENTICATE" new_tor_password "\ n"
empty -s -o torin "semnal NEWNYM \ n"
empty -s -o torin "renunțat \ n"
Scripturile Perl pentru schimbarea IP automată în TOR
Același script poate fi implementat pe Perl folosind modulul Expect (deoarece personal nu am instalat nici acest modul, nici utilitarul gol din sistem - nu există nici o diferență deosebită de a pune, nu):
# Rulați comanda într-un proces copil
meu $ exp = Asteptam -> spawn # 40; "telnet 127.0.0.1 9051" # 41; ;
# timeout pentru nici o acțiune = 3 secunde.
$ exp -> așteptați # 40; 3.
# 91; qr / caracterul Escape \ s. \ n / x => sub # 123;
$ exp -> trimite # 40; 'AUTHENTICATE' new_tor_password ''. "\ n" # 41; ;
exp_continue;
# 125;.
# 93;.
# 91; qr / 250 \ s OK / x => sub # 123;
$ exp -> trimite # 40; "semnal NEWNYM \ n" # 41; ;
$ exp -> trimite # 40; "ieșire \ n" # 41; ;
exp_continue;
# 125;.
# 93;.
# 41; ;
În mod similar, puteți utiliza, de exemplu, modulul Net :: Telnet. care din nou nu este un modul de bază al Perl - nu atrage dependențe, diferă de Expect:
meu $ tnet = Net. Telnet -> nou # 40;
# Gazda nu trebuie specificată
# default isp. localhost
Host => '127.0.0.1'.
Port => '9051'.
Timeout => 3.
# Opțiuni unu - utilizați metode de imprimare
# (pentru a trimite comenzi) și waitfor (pentru a obține
# răspunsuri).
$ tnet -> print # 40; q / AUTHENTICATE "new_tor_password" / # 41; ;
$ tnet -> așteptați # 40; '/ ^ 250 \ s OK $ / x' # 41; ;
$ tnet -> print # 40; q / semnal NEWNYM / # 41; ;
$ tnet -> așteptați # 40; '/ 250 \ s OK $ / x' # 41; ;
$ tnet -> print # 40; q / quit / # 41; ;
$ tnet -> așteptați # 40; '/ 250 \ s conexiune de închidere $ / x' # 41; ;
# Opțiunea 2 - trimiteți comenzi de fiecare dată,
# cum să obțineți solicitarea.
# Prompt poate fi definit la crearea lui $ tnet
$ tnet -> prompt # 40; '//' # 41; ;
$ tnet -> cmd # 40; q / AUTHENTICATE "new_tor_password" / # 41; ;
$ tnet -> cmd # 40; q / semnal NEWNYM / # 41; ;
$ tnet -> cmd # 40; q / quit / # 41; ;