V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
XIU2
V2EX  ›  问与答

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

  XIU2 · 2021-03-04 19:58:56 +08:00 · 17298 次点击
这是一个创建于 1362 天前的主题,其中的信息可能已经有所发展或是发生改变。

本贴仅为学习交流,希望大家不要跑题~

起因

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

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

另外,我的家庭宽带是有公网 IP 的,而手机联通 4G 网络则肯定没有,当然这两种都不影响触发条件及效果。
syuraking
    7
syuraking  
   2021-03-05 21:35:56 +08:00
重庆联通和湖北联通一直正常,没有你说的问题,DNS 由本地缓存强制解析过去的
XIU2
    8
XIU2  
OP
   2021-03-05 23:10:40 +08:00
@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  
   2021-03-06 06:59:12 +08:00 via Android
我觉得楼主去贴吧发会更有效率
junyee
    10
junyee  
   2021-03-06 08:37:13 +08:00 via iPhone   ❤️ 1
无耻的技术。
我说这几天为什么访问 github 就只能看到 tittle,只好用梯子。
jinliming2
    11
jinliming2  
   2021-03-06 15:52:42 +08:00   ❤️ 9
当年 Google 就是类似的手段,造成是“他们服务器不稳定”的假象,然后再过段时间就彻底 ban 了。
XIU2
    12
XIU2  
OP
   2021-03-08 11:50:43 +08:00   ❤️ 2
看了下这几天我的 Github 项目后台访客流量统计,并没有明显下滑的现象。

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

[V2EX 连接已重置?默认解析的三个 IP 全部不可用( TCPing 疑似被劫持?延迟过低 有规律)]
/t/761226
hamjin
    33
hamjin  
   2021-06-15 12:13:01 +08:00
现在 github 直接 SNI RST 了,彻底再见了( 0791 移动)
ChinaMobile 网络下 cloudflare 还有几个 ip 段是好的,还是 CMI 到 HKIX 直连 Cloudflare,到目前( 2021 年 6 月 15 日)还是低延时
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2565 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.