思科 WiFi 1/40 亿概率的 bug 让我碰到了, 100% 触发无法连网,你猜到底是怎么写出来的代码?

2023-04-03 10:49:12 +08:00
 RedisMasterNode

需要升级 Controller 解决。

Bug 单: https://quickview.cloudapps.cisco.com/quickview/bug/CSCvz16800

TL;DR: MAC 地址中间两段为 88:8e 的 100% 触发无法连网,例如:xx:xx:88:8e:xx:xx,没算错的话概率应该是 (16 ^ 4) / (16 ^ 12)

这代码要怎么写才能搞出来这种玩意....真倒霉

4014 次点击
所在节点    程序员
14 条回复
ipoh
2023-04-03 10:58:50 +08:00
我感觉你算错了
1/16^4
CRVV
2023-04-03 11:07:31 +08:00
显然概率算错了,应该是 1/(16^4)
另外,mac 地址的前 24 位代表厂商,比如 F8DB88 是 Dell 的
所以对用户来说,这个概率实际上只有 0 和 1/256 两种情况,对特定品牌的用户来说应该很常见的

思科好像经常干这种事情,在代码里写死 magic number 拿来测试
比如 https://www.theregister.com/2018/05/18/network_roundup_17_may_2018/
RedisMasterNode
2023-04-03 11:13:45 +08:00
@CRVV 啊哈 ok ,那就是错了,但是也还是个小概率的事情,碰上实在是倒霉难绷...QAQ
DinoStray
2023-04-03 11:26:49 +08:00
我感觉应该是 2^96/(2^128) ,
2^128 是 ipv6 总地址数,
2^96 是中间两段为 88:8e 的地址总数
高中数学一直不及格的学渣. 人到中年开始对数学感兴趣. 如果不对期望指正
RedisMasterNode
2023-04-03 11:32:22 +08:00
@DinoStray hhh 没想到大家对这个概率这么感兴趣,我不太熟悉这些知识,算错了让站里的大佬指点,主要是觉得这些写死的 magic number 导致的问题也太蠢了...没理由写死的呀
DinoStray
2023-04-03 11:32:40 +08:00
哦, 看错了, 原来是 mac 地址, 看成 ipv6 了
DinoStray
2023-04-03 11:43:51 +08:00
mac 地址的话, 我觉得概率应该是 2^32/2^48=1/2^16
Caribbeancom
2023-04-03 12:52:30 +08:00
摸头
flush9f
2023-04-03 14:23:24 +08:00
好奇怎么判断是 MAC 地址相关的 bug ,这种假如我遇到就只会觉得是 client 的问题
cat9life
2023-04-03 14:34:53 +08:00
发达了 为啥不买彩票
Huelse
2023-04-03 14:41:29 +08:00
这种时候我们都会说“垃圾 xx”
bluefountain
2023-04-03 14:51:51 +08:00
我在 iOS 的 VPN 中发现了一个类似的,密码最后一位不能是空格的 Bug ,提交了半年苹果还没处理。哈哈。
RedisMasterNode
2023-04-03 15:01:32 +08:00
@flush9f 当然是排查了很久没排查出来,最后拿了日志去找思科提单得到回复的呀,再找我验证了一下 mac 地址是不是符合条件,随机一个新的 mac 地址是否能正常用
RedisMasterNode
2023-04-03 15:02:46 +08:00
@Caribbeancom 偷偷摸摸降价哈哈

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

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

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

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

© 2021 V2EX