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

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

  XIU2 · 275 天前 · 8327 次点击
这是一个创建于 275 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

起因

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

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

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

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

[V2EX 连接已重置?默认解析的三个 IP 全部不可用( TCPing 疑似被劫持?延迟过低 有规律)]
/t/761226
hamjin
    33
hamjin  
   172 天前
现在 github 直接 SNI RST 了,彻底再见了( 0791 移动)
ChinaMobile 网络下 cloudflare 还有几个 ip 段是好的,还是 CMI 到 HKIX 直连 Cloudflare,到目前( 2021 年 6 月 15 日)还是低延时
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2292 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 122ms · UTC 12:12 · PVG 20:12 · LAX 04:12 · JFK 07:12
♥ Do have faith in what you're doing.