-
2022全网最全面最详细的翻牆技术大全-含实作카테고리 없음 2022. 5. 31. 10:46
2022全网最全面最详细的翻牆技术大全-含实作
我打算写一篇文章,来整理翻牆技术大全,对于想要了解翻牆技术细节的朋友们,可以有个参考,本文会白话详细解释各种翻墙技术,包含SSR,VPN, Trojan, V2ray 等,虽然对于只想要马上翻墙回国或出国的朋友们,或许没有太大帮助,但至少可有一个依据,本文就不推荐任何VPN了,当存作为一篇知识性文章,且引用各種參考資料。
VPN 翻墙技术
VPN(虛擬私人網路)可以视为是一种最古老的翻墙技术,听过翻墙的朋友们,肯定听过VPN这个名词,现在来解释VPN跟翻墙是什么关系。VPN是一种加密的方式,能过保护使用者的IP、位置、个人资讯不外泄,所以VPN可以视作是一种伪装(如果更学术的讲,叫做加密)。经过伪装(加密)后的使用者IP、位置、跟个人资讯,就可以翻墙来访问一些被防火墙屏蔽的网站。
不如换这个比喻:如果你的车开出你的车道,有人可以跟着你,看看你要去哪裡,你在目的地多久了,什么时候回来。他们甚至可以偷看您的车内并了解有关您的更多信息。看看车上有谁。假如你使用 VPN,就好像您从家裡开车进入地下隧道,进入封闭的停车场,换到另一辆车,然后开车出去。想要知道你讯息的人没有人知道你去了哪裡。。
当您的 VPN 开启时,任何窥探您网络的人都无法看到您在做什么。即使窥探者控製网络。最常见的就是无处不在且方便的公共 Wi-Fi 网络。例如,您怎么知道“starbucks_wifi”实际上真的是是咖啡店的 Wi-Fi 网络?事实上,一个流行的安全研究人员常常做的恶作剧是创建一个与免费、流行的服务同名的网络,看看有多少设备会自动连接。。?
即使即使您倾向于信任他人,仍然不应该信任您的互联网服务提供商 (ISP)。在中国,您的 ISP 可以深入了解您的在线活动。更糟糕的是,中国决定允许您的 ISP 出售您的匿名浏览历史记录。甚至可能出售您的数据,这十分恶劣了。VPN 甚至可以防止您的 ISP 监视您的活动,基本上VPN对于你的自身网路安全是至关重要的。
许多美国人也常使用VPN,目的不是为了翻墙,而是想要保护自己的资料不外泄(像是我自己在疫情期间,需要远端办公,也是透过VPN)。目前主流的VPN均为美国公司所开发,然而由于中国政府近年来强力打击加密流量,因此绝大多数的VPN已经无法在中国使用。
关于加密的细节,有兴趣的朋友们可以搜寻RSA加密(透过数论学家认为质因数分解对电脑来说是很难的问题)来应用,另一种是所谓椭圆式加密,透过椭圆曲线上面的阿贝尔群来操作,除了这两种最常见的加密方式,还有运用其他数学结构来加密的,像是最短向量(Shortest Vector)。基本上加密就是用到许多数学跟程式来完成,是一门非常高深的学问。甚至牵涉到着名的P versus NP的问题。
SSR 翻墙技术
多型态多技术的类型成为VPN软体主流
传统的VPN是虚拟私人网路,常见用途是在学校或企业内建立私有的网路系统。SSR 则可以想像成是透过一个代理人,这个代理人(专有名称是Sock5)可以访问被屏蔽的网站,借由与这个代理人传输资料来翻墙,而且资料同样经过加密,而且没有专用网路,所以相较传统VPN来说,SSR更不容易被防火墙侦测到。
SSR原本是一个开源专案,后因中国政府打压,源代码已经下架,但由于传统VPN多数已被墙,SSR现在已经取代VPN成为国内翻墙的主流。近年来近年来由于中国打击翻墙手段趋严,许多国内VPN像是光年VPN,熊猫VPN等暂时无法使用,而且常会有团队因为法律而跑路,因此建议使用欧美VPN,安全性有保证,团队也不会突然消失,造成使用者血本无归。
除了SSR之外,還有像是V2-ray 跟Trojan。Trojan是一个比较新的翻墙软件,在设计时采用了更适应国情的思路。 在穿透GFW时,人们认为强加密和随机混淆可能会欺骗GFW的过滤机制。 然而,Trojan实现了这个思路的反面:它模仿了互联网上最常见的HTTPS协议,以诱骗GFW认为它就是HTTPS,从而不被识别。
简单说,由于传统VPN的技术已经被中国防火墙识破,所以现在都是使用多技术的方式来翻墙。 像是光年VPN採用的就是特殊SSR技术。
TROJAN 翻墙技术
現在來講講Trojan翻墻技術,Trojan 是一個開源專案,更多細節跟操作可以參考github的官網 <https://trojan-gfw.github.io/trojan/>。建議熟悉程式的玩家自己去探求,如果是程式小白,當作故事看看就好。簡單就是透過Trojan來模仿成HTTPS。
在騙過 GFW 时,人们认为强加密和随机混淆可能会欺骗 GFW。然而,特洛伊木马实现了截然相反的功能:它模仿最常见的跨墙协议HTTPS,以欺骗 GFW 认为它是HTTPS。
有效的木马协议
当木马客户端(木马客户端只是一个木马协议SOCKS5转换器。没有特別的)连接到服务器时,它首先执行真正的?TLS信息交換。如果 信息交換 成功,所有后续流量将受到保护TLS;否则,服务器将像任何HTTPS服务器一样立即关闭连接。(木马现在也支持对普通 HTTP 请求的类似 nginx 的响应。)然后客户端发送以下结构:
+-----------------------+---------+----------------+---------+----------+ | hex(SHA224(password)) | CRLF | Trojan Request | CRLF | Payload | +-----------------------+---------+----------------+---------+----------+ | 56 | X'0D0A' | Variable | X'0D0A' | Variable | +-----------------------+---------+----------------+---------+----------+ where Trojan Request is a SOCKS5-like request: +-----+------+----------+----------+ | CMD | ATYP | DST.ADDR | DST.PORT | +-----+------+----------+----------+ | 1 | 1 | Variable | 2 | +-----+------+----------+----------+ where: o CMD o CONNECT X'01' o UDP ASSOCIATE X'03' o ATYP address type of following address o IP V4 address: X'01' o DOMAINNAME: X'03' o IP V6 address: X'04' o DST.ADDR desired destination address o DST.PORT desired destination port in network octet order
如果连接是 a?UDP ASSOCIATE,则每个UDP数据包具有以下格式:
+------+----------+----------+--------+---------+----------+ | ATYP | DST.ADDR | DST.PORT | Length | CRLF | Payload | +------+----------+----------+--------+---------+----------+ | 1 | Variable | 2 | 2 | X'0D0A' | Variable | +------+----------+----------+--------+---------+----------+
当服务器收到第一个数据包时,它会检查散列密码是否正确以及木马请求是否有效。如果不是,则该协议被视为“其他协议”。请注意,第一个数据包将附加有效负载。这避免了长度模式检测并且可以减少要发送的数据包的数量。
如果请求有效,特洛伊木马服务器连接到由DST.ADDR和DST.PORT字段指示的端点,并在端点和特洛伊木马客户端之间打开直接隧道。
其他协议
因为通常将特洛伊木马服务器假定为HTTPS服务器,所以侦听套接字始终是TLS套接字。执行TLS交換后,如果木马服务器确定流量是“其他协议”,则在预设端点(默认为127.0.0.1:80本地HTTP服务器)到客户端之间打开隧道,以便预设端点控制解密TLS流量.
防检测
主动检测
所有没有正确结构和密码的连接都将被重定向到预设的端点,因此HTTP如果可疑的探针连接(或者只是您的粉丝连接到您的博客 XD),木马服务器的行为与该端点完全相同(默认情况下)。
被动检测
因为流量受到保护TLS,如果您正在访问一个HTTP站点,流量看起来是一样的HTTPS(握手RTT后只有一个TLS);如果您没有访问某个HTTP站点,则流量看起来与HTTPS保持活动或WebSocket.?因此,木马也可以绕过 ISPQoS限制。
RAY 翻墙技术
最後來說說近年很紅的V2Ray. 技術細節可以參考V2Ray Beginniner's Guide。或是GitHub?https://github.com/v2fly/v2ray-step-by-step。
簡單說,V2Ray可以當作是進化版的SSR,包含各種不同的混淆跟偽裝。
V2Ray 本身不是协议或规避系统。相反,V2Ray 是一个平台或框架,允许您运行一个或多个代理,具有各种分层代理协议、传输和混淆。例如,您可以在一个端口上运行 SOCKS-in-TLS,在另一个端口上运行 VMess-in-QUIC(可以选择混淆 QUIC 数据包)。在客户端,您可以配置路由来控制什么流量应该使用什么代理,或者根本不应该被代理。
在最底层,V2Ray 支持多种代理协议,有些是混淆的,有些则不是:
· 标准的HTTP 代理(GET/CONNECT)。
· 普通Socket。
· MTProto,由 Telegram 使用?并且只能代理到 Telegram 服务器。
· Shadowsocks,使用推荐的AEAD 密码,或者不幸的是,已弃用的流密码和一次性 auth。
· VMess,一种自定义的经过身份验证和加密的代理协议。有一个技术协议规范。
有一个可选的mux(多路复用)层通过一个代理连接隧道传输多个流。
代理协议本身并不是通过任何特定类型的网络连接实现的。相反,您必须为每个指定传输:
· 一个TCP 连接。
· mKCP,一种使用 UDP 数据包实现的可靠通道。我不确定 mKCP 与KCP有何不同,如果有的话。本 BBS 的读者会回忆起之前关于 Turbo Tunnel 内部会话层的讨论中的 KCP(#9,#14)。
· 基于 TCP的WebSocket 连接。
· HTTP/2。
· 一个QUIC 连接。
任何传输层都可以选择应用一层 TLS。TLS 选项对于 HTTP/2 和 QUIC 传输是必需的。
最后,在最高级别,一些传输支持额外的、可选的混淆选项:
· TCP 连接的前缀可能是虚假的 HTTP 标头。
· mKCP 和 QUIC 可能会将它们的 UDP 数据包转换为类似于SRTP、uTP、微信视频、DTLS或Wireguard数据包。
V2Ray 模型提供了很大的灵活性。您可以设置未经身份验证的 SOCKS 代理而不进行任何加密,或者您可以设置仅对授权用户开放的 VMess,通过 WebSocket 和 TLS 进行隧道传输。
V2RAY 和 SHADOWSOCKS 有什么区别?
不同的是Shadowsocks只是一个简单的代理工具;它是一种加密协议。但是,V2Ray 是作为一个平台设计的,任何开发者都可以使用 V2Ray 提供的模块来开发新的代理软件。
熟悉Shadowsocks历史的人都应该知道,它是clowwindy开发的一款自用软件。开发的初衷是让穿越防火墙和审查变得简单高效。在clowwindy 将Shadowsocks 开源之前,它作为私有代理协议已经使用了很长时间。V2Ray 是在 clowwindy 受到中国政府威胁后开发的,而 Project V 团队则是为了抗议而开发的。由于历史背景不同,他们具有不同的特点。
单纯说Shadowsocks是单代理协议,V2Ray比单协议代理复杂。Shadowsocks 听起来有点黯淡?当然不是!从另一个角度来说,Shadowsocks 易于部署,而 V2Ray 在部署时有更复杂的配置。簡單說V2Ray就是進化版的SSR。
既然 V2RAY 比较复杂,那我们为什么要用它呢?
事物的优点和缺点总是随之而来。例如,V2Ray 具有以下优点:
· 全新强大的协议:V2Ray采用全新自主研发的VMess协议,改善了Shadowsocks现有的一些缺点,更难被防火墙检测到。
· 更好的性能:更好的网络性能,具体数据可以看V2Ray官方博客
· 更多特性:以下是V2Ray的一些特性:
· mKCP:V2Ray 上的 KCP 协议实现,不需要另外安装 kcptun。
· 动态端口:动态改变通信端口,对抗长期大流量端口的限速
· 路由特性:可以自由设置指定数据包的流向,屏蔽广告,开启反跟踪
· 出站代理,或者说链代理,使用许多链接来获得更好的隐私
· 混淆:类似于ShadowsocksR的混淆,mKCP的数据包也可以混淆。混淆其他协议流量,增加检测难度
· WebSocket 协议:只使用 WebSocket 代理,或用于 CDN 中间代理(更好的抗阻塞)
· Mux:复用,进一步提高代理的并发性能
海归returnees加速器官网:https://haigui.in 海外华人回国专用加速器 google下载链接:https://play.google.com/store/apps/details?id=com.cnqlx.booster