踏雪无痕系列·网络层面(一) —— Tor使用meek流量混淆插件
下载裸Tor(独立功能的Tor):
进入Tor官网下载(要翻墙)点击这里»点击Microsoft Windows » 找到Expert Bundle » 点击Download
全部文件解压到同一个目录,Data\Tor\内的文件,放到tor.exe同目录下
取得meek插件:下载meek-client.exe:
或自行提取:下载Tor安装包,使用7zip解压.exe安装包,提取meek-client.exe
制作配置文件,启动,关闭脚本:制作启动脚本,打开记事本,复制粘帖
tor -f torrc
保存,命名为tor-run.bat
制作关闭脚本
打开记事本,复制粘帖
|
|
保存,命名为tor-stop.bat
配置文件
打开torrc配置,复制粘帖
|
|
保存,命名为torrc(没有文件名后缀)
注意文件名后缀,全部文件放到同一个文件夹中,文件结构如下:
|
|
使用方法:
运行tor-run.bat,Tor开始运行,显示100% Done即成功连接Tor网络
Socks5代理端口开启,默认是127.0.0.1:9050
使用支持Socks5代理的浏览器/插件(与SS/SSR同理):
Chrome插件SwitchyOmega教程
如需要在局域网内共享Tor翻墙通道,在torrc文件内加一行
SocksPort 0.0.0.0:9050
Android系统手机使用:
下载Socks5代理软件(这款是开源的)
查询运行Tor的电脑的局域网IP,共享Tor翻墙后,在手机内填写IP和端口(9050)
可访问Tor暗网服务.onion域名
运行tor-stop.bat,即可结束进程
版本更新
重复步骤1,步骤2,替换文件
优化meek速度方法
meek-amazon网桥,使用amazon cloudfront,当前meek插件的front域名是a0.awsstatic.com,可自行解析可用IP,寻找可用最快的IP(与GAE同理),修改hosts文件:
xxx.xxx.xxx.xxx a0.awsstatic.com
front域名被封
torrc文件内front域名,替换为未被封锁可解析到cloudfront的域名
front=a0.awsstatic.com
替换为:
front=c.amazon-adsystem.com
或
front=d3dkhq0wwdwodv.cloudfront.net
或
front=d31qbv1cthcecs.cloudfront.net
或
front=d3ezl4ajpp2zy8.cloudfront.net
等能够解析到cloudfront.net的域名
使用微软azure网桥
torrc文件内网桥设置替换为:
Bridge meek 0.0.2.0:3 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
本教程是绿色的Tor翻墙使用方法,比一般代理匿名性好,匿名请使用完整的Tor Browser,防止浏览器指纹泄露信息,同时搭配多重虚拟机
强制排除节点与meek插件冲突,而排除出口节点可行。
一旦在 torrc 中禁用了某些国家的节点,会导致 meek 无法联网。
解决方法是:用了 meek 插件的 TOR,就不要在 torrc 中使用 ExcludeNodes 语法来排除节点。
但是这样一来,某些比较谨慎的同学会担心误入蜜罐节点。俺想了个应对措施——拿配置了 meek 的 TOR 作另一个 TOR 的前置代理。这话有点绕口,配置如下:
安装两个 TOR,分别成为 A 和 B(为了避免冲突,可以放到两个虚拟机中)
A 配置了 meek,B 不配置 meek(为了用 meek,A 必须是 TOR Browser 软件包;至于 B 可以是 TOR Browser Bundle 软件包,也可以是 Vidalia Bridge Bundle 软件包)
在 B 的 torrc 中禁用流氓国家的节点
把 A 作为 B 的前置代理(也就是说,B 走 A 的 SOCKS 代理)
你的浏览器走 B 的 SOCKS 代理 (其实这个配置跟传统的“基于 TOR 的双重代理”,本质上是一样的。差别在于——“前置代理”也是 TOR)
实战例子
利用tor匿名上网,实现爬虫IP池
这里的匿名上网利用了洋葱代理的三重跳实现(三个节点跳转,从而实现IP地址隐藏,相当于用了tor的IP池)
Windows下匿名上网:
1、 首先得有自己的翻墙软件,这里使用的shadowsocks,因为tor代理也是走的sock5协议
2、 确认翻墙成功后,需要进行洋葱代理连接,shadowsocks默认是1080端口,tor代理默认监听的是9050,所以需要把9050监听到的内容传给1080然后去访问外网,所以进入tor-browser执行如下命令:
tor.exe SoCKS5Proxy 127.0.0.1:1080
3、然后因为本机是要网页浏览,那么是http流量,那么需要把http流量转换成socks5的流量,然后传给tor监听的9050端口,这时候就形成了一条通道,可以匿名上网了。这里需要使用privoxy工具进行配置,Windows 系统中右键点击 Privoxy 托盘图标,依次点击 Edit - Main Configuration 打开配置文件,写入以下内容:
forward-socks5 / 127.0.0.1:9050 .
listen-address 127.0.0.1:8118
4、 最后修改本地的代理为127.0.0.1 8118
5、 这时候就可以访问暗网以及利用tor的三重跳来隐藏自己了
Linux下匿名上网
同样的操作
1、首先下载shadowsocks
sudo apt-get install python-pip
sudo pip install shadowsocks 安装shadowsocks
sudo vi /etc/shadowsocks.json 添加配置项,内容如下{}
{
"server":"*", # 服务器端地址
"server_port":"*", # 服务器端端口号"local_port":"", # 本地端口号"password":"**" # shadowsocks密码
}
sslocal -c /etc/shadowsocks.json 启动shadowsocks
2、下载privoxy
sudo apt install privoxy 安装
sudo vi /etc/privoxy/config 修改配置(确保红框内的值都存在,并且重启服务)
forward-socks5 / 127.0.0.1:1080
listen-address localhost:8118
运行tor即可
3、问题解决
(1) 运行tor的时候会出现端口已被占用的情况,这时候可以使用sudo killall tor来操作,并且sudo services tor stop 然后再运行即可
(2) 将本地代理永久的修改sudo vi ~/.bashrc
写入:
export http_proxy="127.0.0.1:8118"
export https_proxy="127.0.0.1:8118"
source ~/.bashrc 更新系统配置
4、 依次运行即可访问暗网进行爬虫等操作了,但是无法浏览器访问,只能在终端terminal上请求访问。
5、 原理都是一样,将http流量转成socks5流量然后走tor代理传给ss,然后ss经过三重跳到了目标地址,然后再把流量返回来即可
多重代理的优劣比较
| 多重代理的好处 | 多重代理的坏处 |
|---|---|
| 防范溯源 | 配置复杂 |
| 伪装自己 | 性能下降 |
配置文件参数: https://www.torproject.org/docs/tor-manual.html.en
meek网桥配置的来源: https://lists.torproject.org/pipermail/tor-project/2017-November/001555.html
替换front域名方法的来源: https://lists.torproject.org/pipermail/tor-talk/2015-January/036410.html
- 原文作者:码中春秋
- 原文链接:https://blog.taielab.com/2018-10-17/meek-plugins-tor-portable-config.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。