应对 sni 阻断,可以不带 sni 吗?

327 天前
 Moonkin
泉州河南 sni 阻断,虽然我没经历过也不知道具体情况。。据说一些小众域名,.top ,.xyz 会被阻断。
有人尝试过直接用 ip 地址没问题。
那不带 sni 是否也可以?或者 sni 写上 www.baidu.com 。。。
6982 次点击
所在节点    宽带症候群
22 条回复
yyzh
327 天前
esni 嘛.墙检测识别不到的连接外国的加密流量然后一刀切就行.简单.
Moonkin
327 天前
@yyzh 墙可以不允许用户使用 esni 。。但是没办法阻止错误的 sni 。。
wonderfulcxm
327 天前
@yyzh esni 在墙内可以用吗?墙会拦截,运营商拦截不?
Moonkin
327 天前
@wonderfulcxm esni ,ech 都是草稿,还没有正式 RFC ,,虽然有些网站支持吧。。
wonderfulcxm
327 天前
@Moonkin 哦好吧。我找个机会搭个试试。

sni 可以伪装的,不良林讲过两期利用域前置 cdn ,伪装 sni 的方法,油管可以找到,一个是利用 v2ray 新增的 meek 协议,也就是洋葱浏览器使用的协议,还在一期使用 ws ,但我都试过极其的慢。
0o0O0o0O0o
327 天前
esni 不让用。

伪造 sni ,看 https://github.com/XTLS/REALITY
coolcoffee
327 天前
不认识的加密流量,间歇性干扰导致你怀疑人生。
Moonkin
327 天前
@coolcoffee 只改 sni 这一个字段,本身还是明文,只是内容是错误的
Moonkin
327 天前
@0o0O0o0O0o reality 似乎是先假握手,再真握手,,,真握手需要填充握手包。。不用自己域名是方便。。
Stoney
327 天前
Reality 协议可以,用 Microsoft.com 域名都可以
tool2d
327 天前
@Moonkin "只改 sni 这一个字段,本身还是明文,只是内容是错误的"

只有大公司的少数服务器支持忽略 sni 。

大部分小公司,一个服务器 IP 对应几个域名,都要靠识别 sni 来跳转对应域名。
vcn8yjOogEL
327 天前
伪造 SNI 就是那些 TLS 代理做的事, Reality 还支持伪造成别人的 SNI

伪装直连不可能, Google 这类大厂的 IP 段全都黑名单了, 而且 SNI 不对就算能通也连不上
qwvy2g
327 天前
河南这边手机数据和宽带执行严格程度不同,河南联通手机数据似乎是严格白名单,试了几个不是那么热门网站的域名,不在 sni 白名单内直接阻断,但是像美国微软美国亚马逊这种网站又能访问。河南联通家用宽带就没有那么严格,速度和以前差不多。河南电信手机数据一开始能连接,但是速度跑不起来偶尔会断流。河南电信家宽也差不多,也是速度跑不动+断流,哪怕是 gia 。至于河南移动,试了一下家宽,能连上去完全跑不起来哪怕是 cmi 断流比电信现象小一些。以上所有的光猫替换成非运营商的+改桥接。不知道路由模式是不是也是这样。
yumusb
327 天前
你不用 tls 不就完了。
gledos
327 天前
有一种策略叫做域前置,原理:这是一种发送虚假 SNI 给服务器的方案,由于 SNI 本身属于扩展协议,所以不正确的 SNI 或者没有 SNI ,可能会触发服务器的兼容性功能,从而返回默认的或通用的证书,允许连接建立。(属于一种向前兼容)

2016 年开始,IM 软件 Signal 、Telegram 使用了域前置规避审查,来解决被部分地区封锁的问题。

2018 年 4 月 14 日,由于俄罗斯大规模封禁 Google 和 Amazon 云的 IP ,尝试禁止这些软件,所以 Google 和 Amazon 禁用了域前置,云运营商给出的理由是「安全问题」。

所以域前置的作用有限,主要还是看网站是否支持域前置吧,有的厂商已经迫于压力,禁止了不正确的 SNI 连接。
Moonkin
327 天前
@gledos 这不是同一件事情啦。。我说的不是用假 sni 去直连 google ,而是用假 sni 直连 vps 。阻断 sni 导致无法链接 vps ,因为 vps 的域名是便宜的小众域名,不在白名单。换成假 sni ,vps 里面运行的代理不检测 sni 。想着这样就可以避开 sni 阻断了。
Moonkin
327 天前
@yumusb 不用 tls 的话,能用的不多了。。udp 可以,因为没人查。自定义协议感觉会被疯狂干扰,比如 shadowsocks
admin13579
327 天前
目前确认的是 esni 会被无差别阻断
无 sni ,伪造的(明文) sni 和 ech 不会阻断

另外还有个比较偏门的方法,如果具体的阻断方式是仅发送 rst 包(而不是丢包),而你的使用需求又是远程连接自己的 vps 而不是访问别人的网站(意味着服务端和客户端的控制权都在你手上),那也可以尝试让你的客户端和服务端都丢弃所有收到的的 rst 包,不接收 rst 包的话,就可以无视阻断强行继续连接。不过可能会产生一个问题就是一刀切丢弃所有 rst 包可能导致一些本该结束的 tcp 进程无法被及时杀死,导致拥堵。
AkinoKaedeChan
325 天前
不带 SNI 可以,倒不如说在实际应用 SNI 之前都是这样的。
ECH 还在草案阶段。
LnTrx
325 天前
IP 地址本身就可以申请证书

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1005387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX