只要 Github 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟(TCPing, 80 端口正常)

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

只要 Github 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟(TCPing, 80 端口正常),求解!
12
XIU2 · 135 天前 · 7154 次点击
这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。
本贴仅为学习交流,希望大家不要跑题~
起因

从前几天开始,我发现 Github 总是频繁无法访问(直连),而我这么多年很少遇到这种情况。

稍微注意了下,发现竟然有规律,于是花了一下午时间不停测试,得出了一些不成熟的结论。
复现

测试环境:Windows10 (联通家庭宽带)、Android 手机(联通 4G )

一开始我是拿了一些 github . com 的 IP 放在 Hosts 文件中轮番指向 github . com 来测试。

一旦指向后去访问 Github,就会发现这个 IP 的 443 端口会超时( TCPing ),然后浏览器提示超时。

如果我关闭网页(避免浏览器一直重试),等 3 分钟后( TCPing 超时 90 次,超时时间 2 秒) 443 端口就通了。

在此期间,该 IP 的 80 端口和 ICMP Ping 是一直正常通顺的,只有 443 端口超时。

在此期间,整个局域网下全都 443 超时(准确说是整个宽带网络下),而独立的手机 4G 网络 TCPing 443 正常(包括其他在线端口测试网站也都 443 正常,国外更不用说了一切正常)。

在此期间,对该 IP 进行 TCP 路由追踪时,会在出口处完全中断。

看到这里,其实就发现不对劲了,于是我又尝试手机共享流量数据网络给电脑,同样可以复现。

这时候,因为手机和电脑在同一个局域网(流量数据网络)下,所以也都 443 超时的。
进阶

测着侧着,突发奇想如果指向其他非 Github 的 IP 会怎么样?

于是我就找了个能用的 Cloudflare CDN IP (只要 443 端口可以 TCPing 就行)指向 Github 后,发现也会出现 443 端口超时的情况。。。

我也尝试过把 Github 的 IP 指向其他域名,结果一切正常,没有出现类似情况,只是针对 Github 。
其他机制

因为持续测试了好几个小时的原因,还发现了一些其他机制:
触发时间 /超时时间

有时候是一旦触发条件,就会直接超时 3 分钟( TCPing 超时 90 次,超时时间 2 秒),期间完全超时。

而有的时候是这 3 分钟期间还会漏掉一些正常延迟的 TCPing 结果,但经过测试依然无法访问网页,应该是模拟丢包。

而有的时候触发条件后,如果立即停止访问 Github,则就会发现 443 端口不再超时了。而如果一直不停的重试网页,那么超时时间就会无限长(重置为 3 分钟),这时候再去停止重试网页,超时时间就固定为 3 分钟了。
随机 /轮番针对

有意思的是,似乎是随机或轮番针对 Github IP 的。

因为我发现有时候 IP A 在某一段时间内是可以正常访问的,相应其他的 IP B C D 等这段时间就会无法使用(一旦访问就 443 超时)。而过一段时间 IP A 又无法访问了,但又有另一个 IP B 可以正常访问了(顺序没有发现规律)。

也就是说,在任意时间总有一个(或几个) IP 是可以正常访问的,且不停变换。

目前为止,我只在我的联通宽带+联通 4G 网络下可以稳定复现,不清楚其他地区、运营商是否也一样。

欢迎大家测试、交流、分析。


33 条回复 • 2021-06-15 12:13:01 +08:00
bigmoejun
1
bigmoejun 135 天前
电信一样
XIU2
2
XIU2 135 天前 ❤️ 1
@bigmoejun 看来是全国范围的,故意不封死。伪装成丢包欺骗普通访客(时能访问时不能),可惜规律太明显了,稍微测试下就暴露了。。。
目前看来只针对 github . com 这个域名,无论什么 IP 指向该域名去访问,都会 443 端口超时 3 秒~3 分钟 不等。
LGA1150
3
LGA1150 135 天前
写个工具轮询所有 IP 是不是就能制造大断网了
XIU2
4
XIU2 135 天前 ❤️ 2
@LGA1150 显然该机制的开发者已经考虑到这个问题了。
我帖子里写了,电脑(家庭宽带)触发条件后,手机 4G 网络一切正常(该 IP 443 端口通顺)。

一旦触发条件,就只会针对你的当前网络(即以你的外网 IP 为标识),不会影响其他国内用户的。
LGA1150
5
LGA1150 135 天前 via Android
至少对同一个 CGNAT 有效
@XIU2
XIU2
6
XIU2 135 天前
@LGA1150 这个我没有条件去做测试,不清楚区分标识是否会精确到 NAT 不同用户。

另外,我的家庭宽带是有公网 IP 的,而手机联通 4G 网络则肯定没有,当然这两种都不影响触发条件及效果。
syuraking
7
syuraking 134 天前
重庆联通和湖北联通一直正常,没有你说的问题,DNS 由本地缓存强制解析过去的
XIU2
8
XIU2 134 天前
@syuraking 那看来不是全国的,而是个别地区的。
我刚刚又测试了一遍,依然存在该情况(联通家宽 + 联通 4G )。

今天上午为了方便测试,特地写了个简陋的 bat 脚本,用 curl 指定 IP 去访问 Github 循环检测可用性。
i.loli.net/2021/03/05/E3ZyHstp2NIUjc4.png

刚开始检测的时候,还有一些 IP 是可以正常访问的( HTTP 状态码 200 ),但是很快就全都无法使用了( HTTP 状态码 000,即 443 端口超时,80 端口正常,ICMP Ping 也是正常)。
bigmoejun
9
bigmoejun 134 天前 via Android
我觉得楼主去贴吧发会更有效率
junyee
10
junyee 134 天前 via iPhone ❤️ 1
无耻的技术。
我说这几天为什么访问 github 就只能看到 tittle,只好用梯子。
jinliming2
11
jinliming2 134 天前 ❤️ 9
当年 Google 就是类似的手段,造成是“他们服务器不稳定”的假象,然后再过段时间就彻底 ban 了。
XIU2
12
XIU2 132 天前 ❤️ 2
看了下这几天我的 Github 项目后台访客流量统计,并没有明显下滑的现象。

看起来应该只是 [部分地区、部分运营商] 才有,但保不齐是 [试点],就看两星期后是否会恢复了,如果没有恢复那估计离全面应用该机制不远了。
zeropercenthappy
13
zeropercenthappy 130 天前
广东电信,出现完全一致的现象了。
v2tudnew
14
v2tudnew 130 天前 via iPhone
HTTPS 目前有个缺陷,不能隐藏 SNI,如果墙针对就很正常。日常 GEOIP ,无影响。
Cipool
15
Cipool 128 天前
原来如此,怪不得最近即使手动修改 hosts 也经常链接超时,起初以为是跨境链接遭遇 qos,没想到是技术升级了
826540272
16
826540272 126 天前 via Android
@XIU2 现在大多都有 nat,那么同样可以给 nat 下的内网 ip 断网,不过意义不大,没几个人访问境外
maxsky
17
maxsky 124 天前
@syuraking 重庆电信 /联通和 LZ 情况一毛一样,解析到任意可用 IP 都是规律性时好时坏。
dzyou2007
18
dzyou2007 121 天前 via Android ❤️ 1
@jinliming2 所以现在依然有不明真相的小白自以为是地说,是他们自己不稳定,自己选择出去的。
ziseyinzi
19
ziseyinzi 121 天前
@XIU2 恢复?你觉得狗会主动把嘴里的骨头吐出来吗
woshijidan
20
woshijidan 121 天前 via Android
广东联通 0750 完美复现
lns103
21
lns103 120 天前 via Android ❤️ 1
四川电信在 2 月底短暂出现 vultr 官网无法访问,最近也出现了 GitHub 连接重置,时好时坏,现在都开代理访问
MisterGlasses
22
MisterGlasses 120 天前 via iPhone
山东联通用 git pull 的时候经常提示什么 SSL was reset 好像也有 443 字样 换流量就没问题 是不是这个原因呢?
linzh
23
linzh 120 天前
我这的教育网直接把 github 阻断了…连演都不带演一下的…三大好歹多刷新几次还能进
XIU2
24
XIU2 120 天前
@MisterGlasses #22 是的,要么提示重置,要么提示超时,偶尔运气好能碰到 “暂时可用” 的 Github IP 。
MisterGlasses
25
MisterGlasses 120 天前 via iPhone
@XIU2 问题是我全局代理都没有用
XIU2
26
XIU2 120 天前
@MisterGlasses #25 那显然就是你的梯子问题了(或者相关设置有问题)。
getadoggie
27
getadoggie 120 天前
无耻的不是技术,是人
Olvi73
28
Olvi73 118 天前
之前以为是 host 的问题,但是每次 host 测试都是正常的,用了一段时间就连不上 github,原来是因为这个原因
brust
29
brust 118 天前
两会的前几天就这样了
直接挂代理了
hgg12580
30
hgg12580 117 天前
苏州电信 成功复现
dvaknheo
31
dvaknheo 114 天前
v2ex 抽风也是这个原因?
XIU2
32
XIU2 114 天前
@dvaknheo #31 V2EX 的不太一样,但也是这个月出现的。
表现特征为部分 Cloudflare CDN IP 被 TCP 劫持(延迟非常低,且不可用),间歇性的,没有发现什么规律,而且这个月 Cloudflare CDN 国内网络质量明显下降了几个等级,普遍延迟、丢包更严重了。

[V2EX 连接已重置?默认解析的三个 IP 全部不可用( TCPing 疑似被劫持?延迟过低 有规律)]
/t/761226
hamjin
33
hamjin 33 天前
现在 github 直接 SNI RST 了,彻底再见了( 0791 移动)
ChinaMobile 网络下 cloudflare 还有几个 ip 段是好的,还是 CMI 到 HKIX 直连 Cloudflare,到目前( 2021 年 6 月 15 日)还是低延时

你可能感兴趣的:(只要 Github 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟(TCPing, 80 端口正常))