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

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

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

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

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

大部分小公司,一个服务器 IP 对应几个域名,都要靠识别 sni 来跳转对应域名。
vcn8yjOogEL
2024-01-03 12:02:54 +08:00
伪造 SNI 就是那些 TLS 代理做的事, Reality 还支持伪造成别人的 SNI

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

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

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

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

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

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

https://tanronggui.xyz/t/1005387

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

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

© 2021 V2EX