Tor环境搭建tor链路IP限定配置
Tor隱匿環(huán)境搭建
Author:HJY
[參考鏈接]
- 官方安裝tor步驟說明
- 官方配置說明
背景信息
環(huán)境描述
注:在中國使用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)版本的命令
添加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 #使用torpython腳本測試
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_瀏覽器測試
關(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ū)域的形式,即
但我注意到關(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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Simple Operations on
- 下一篇: poe工业以太网交换机可以当普通交换机用