日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tor环境搭建tor链路IP限定配置

發(fā)布時間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tor环境搭建tor链路IP限定配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Tor隱匿環(huán)境搭建

Author:HJY

[參考鏈接]

  • 官方安裝tor步驟說明
  • 官方配置說明

背景信息

  • tor的配置文件的路徑 /etc/tor
  • tor服務(wù)的端口為9050,若使用Tor瀏覽器其配置端口為9150
  • tor本質(zhì)是一個socks代理,而非HTTP代理,代碼上需注意,可以使用Polipo實現(xiàn)HTTP代理轉(zhuǎn)Socks代理
  • 環(huán)境描述

  • 基于ubuntu-1604,命令運行正常
  • 網(wǎng)絡(luò)鏈路:
  • 本機公網(wǎng)IP -> Tor代理 -> 目標網(wǎng)絡(luò)
  • 本機公網(wǎng)IP -> 代理 -> Tor代理 -> 目標網(wǎng)絡(luò)
  • 注:在中國使用Tor服務(wù),疊加一層前置代理會比較好。而Tor瀏覽器則是選擇獲取官方提供的網(wǎng)橋的方式。因此本教程是基于鏈路2的網(wǎng)絡(luò)拓撲進行搭建。

    安裝Tor

    • note: 需在超級權(quán)限下進行安裝
    • note: 建議使用代理網(wǎng)絡(luò)進行安裝操作,否則訪問源失敗

    對于Debian系統(tǒng),安裝只需apt install tor即可,Ubuntu本身的默認源里也存在tor,但比較過時,如果你不在意,那你只需apt-get install tor即可跳過下面的安裝步驟.

    Do not use the packages in Ubuntu’s universe. In the past they have not reliably been update.That means you could be missing stability and security fixes

    ># apt install apt-transport-https

    根據(jù)當前系統(tǒng)版本添加tor包源,參照官網(wǎng)安裝指引,以ubuntu16為例
    查看系統(tǒng)版本的命令

    > head -n 1 /etc/issue ># vim /etc/apt/sources.list #添加下面的語句于該文件 deb https://deb.torproject.org/torproject.org xenial main deb-src https://deb.torproject.org/torproject.org xenial main

    添加gpg key(add the gpg key used to sign the packages)

    ># curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import ># gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -若報錯,采用下面的方案進行 1. 下載該文件`A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc` 2. apt-key add A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc

    進行安裝

    ># apt update ># apt install tor deb.torproject.org-keyring

    =----------------------------------------------------------------------------------------------

    基本命令

    啟動服務(wù)

    > service tor start

    檢查服務(wù)狀態(tài)

    > service tor status

    基本配置

    vim /etc/tor/torrc

    SocksPort 9050 #本機連接 SocksPort 192.168.1.223:9100 #暴露給局域網(wǎng)其他機器連接 Socks5Proxy 127.0.0.1:10809 #配置前置socks5代理 OutboundBindAddress 192.168.1.223 #對于多網(wǎng)卡設(shè)備,指定接口IP給其所在的局域網(wǎng)使用(未驗證,可以不添加) # NewCircuitPeriod 3600 #Tor每隔NUM秒嘗試新建鏈路,默認30秒,為避免IP變換頻繁導(dǎo)致賬號被封,這里設(shè)為1小時,但這種策略對于tor是建議的--無效 ExitNodes {us} #未添加strict模式,盡可能以美國作為出口節(jié)點 ExcludeExitNodes {cn} #未添加strict模式,盡可能排除中國作為出口節(jié)點 語句功能說明
    Socks5Proxy host[:port]配置前置代理
    SocksPort配置監(jiān)聽端口
    NewCircuitPeriod配置線路變更時間
    ExcludeExitNodes出口節(jié)點排除
    ExitNodes出口節(jié)點范圍選擇
    StrictNodes強制執(zhí)行節(jié)點設(shè)置,不管是否能連成功

    =----------------------------------------------------------------------------------------------

    測試方式

    查看本機的網(wǎng)絡(luò)服務(wù)狀態(tài),9050為tor監(jiān)聽端口

    > netstat -lnt

    驗證ip,原本上網(wǎng)ip

    > curl ipinfo.io #不使用tor > torsocks curl ipinfo.io #使用tor

    python腳本測試

    import requestsproxies = {'http':"socks5//127.0.0.1:9050",'https':'socks5://127.0.0.1:9050' } url = 'http://httpbin.org/get' res = requests.get(url,proxies=proxies) if res.status_code == 200:print(res.text) else:print('failed')

    局域網(wǎng)內(nèi)其它PC_瀏覽器測試

  • 連接其代理地址:192.168.1.223
  • 勾選使用socks代理時的DNS查詢
  • 訪問IP查詢網(wǎng)站whoer
  • 關(guān)于Tor

    如何維持一個固定的出口IP?

    理論上,使用Tor訪問每個域名,獲得該域名獨屬的線路,一個線路默認維持10分鐘

    思路一:基于tor ExitNodes參數(shù)

    • 思路啟發(fā)
    • tor中繼節(jié)點

    可以發(fā)現(xiàn)我們出口IP可以在上面的網(wǎng)站中提供的IP找到,那么如果強制指派該節(jié)點,是否就固定了IP.
    國內(nèi)博文或者是大多數(shù)國外的論壇幾乎不提及ExitNodes的這個用法,大多以限定出口節(jié)點的區(qū)域的形式,即

    ExitNodes {us}

    但我注意到關(guān)于文檔的說明提到:

    A list of identify fingerprints,country codes,and address patterns of nodes to use as exit node–that is,
    a node that delivers traffic for you outside the Tor network.

    我們忽略了IP address這種使用模式!

    評注:這方面的資料基本沒有,畢竟這種實現(xiàn)本身已經(jīng)違背了Tor的設(shè)計初衷。那么Tor瀏覽器登錄檢測IP變化的這一類網(wǎng)站是怎么避免不被強制logout甚至封號的呢?關(guān)于這一點,reddit上有這樣一則信息configure_tor_to_change_ip_every_minute,其原文如下:

    Originally Tor would rotate circuits every ten minutes. The Tor Browser now operates differently and changes circuits every two hours, but also uses a unique circuit for every site. One reason for this is because some sites don’t respond well to a user’s IP changing in the middle of a single session. With circuit isolation, there’s not much security benefit to rotating more quickly. In fact it can introduce additional risks, since by rotating quickly you’re more likely to land on a malicious relay. Plus if your short-lived circuit behavior is detected, that might in itself be identifying (not deanonymizing, but still a risk).

    其提到最初Tor是每十分鐘改變一次鏈路,而Tor瀏覽器如今雖然仍對每一個網(wǎng)站使用不同的鏈路,但是每一個網(wǎng)站本身則每兩個小時更換一次鏈路。做出這樣的改變的原因之一是出于考慮到某些站點對于用戶客戶端與站點的單一會話過程中更換IP這一情況不能正常響應(yīng),正常比如強制登出。

    強制指派并使用單一出口節(jié)點,以IP的方式

    ExitNodes 199.249.230.78

    當然,這種方法也有不妥的時候:

  • 并不是每一個circuit(理解為中繼節(jié)點服務(wù)器)都用于向Tor網(wǎng)絡(luò)之外傳送網(wǎng)絡(luò)流量。如果你強制指定的這個出口節(jié)點不支持訪問80端口或443端口, 那你便不能訪問網(wǎng)頁。規(guī)避這個問題的策略也很簡單,一個是你預(yù)先采用不強制情況下訪問網(wǎng)頁得到的IP作為出口節(jié)點,另外一種則是使用下面提供的網(wǎng)址進行查詢該節(jié)點服務(wù)器是否支持訪問目標網(wǎng)站的目標端口。

    • 節(jié)點信息查詢
  • 如果這個節(jié)點服務(wù)器不能使用時,需要我們變更IP,這一點如果有必要,我們可以用腳本進行實現(xiàn),大致的思路是以即時或預(yù)先的方式獲取備用的IP,檢測到服務(wù)不能正常訪問時,終止tor服務(wù),并修改配置文件,再重啟服務(wù)。

  • 如果這個出口節(jié)點被監(jiān)聽,那么我們的做法就相當于把所有的雞蛋都放在同一籃子里。

  • 思路二:基于tor的鏈路更新參數(shù)

    這種方案,說實話收效甚微。

    總結(jié)

    以上是生活随笔為你收集整理的Tor环境搭建tor链路IP限定配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。