GFW 还可以记录设备的 MAC 地址?

2024-02-18 15:27:12 +08:00
 beryl

同一个 SS 服务,电脑端访问正常,使用 clash, 手机端(ios), ss 服务无法访问

查了下说有可能是 MAC 地址被封了

5829 次点击
所在节点    程序员
26 条回复
zhangsanfeng2012
2024-02-18 15:30:15 +08:00
不可能
beryl
2024-02-18 15:31:22 +08:00
beryl
2024-02-18 15:32:07 +08:00
@zhangsanfeng2012 https://baiyunju.cc/5406
查了一篇文章,不知道真假

现在情况就是电脑端用 Clash pro 可以使用

手机用的 SS, 还了几个客户端,都是不可以
sakisaki
2024-02-18 15:34:53 +08:00
这个我没记错的话,mac 地址只在本地使用吧?数据包也没有记录 mac 吧?
molezznet
2024-02-18 15:36:43 +08:00
你用 ipv6 的话,v6 地址和 mac 有关联的吧?
beryl
2024-02-18 15:36:49 +08:00
@sakisaki 手机访问提示 ERR_SSL_PROTOCOL_ERROR

有点怀疑是时间 时区不对导致,但是也做了检查
justfindu
2024-02-18 15:39:55 +08:00
手机: 更新订阅, 更新描述文件, 还有 vpn 文件设置试试
HFX3389
2024-02-18 15:42:01 +08:00
@beryl #6 手机 iOS 用的啥? shadowrocket 吗?手机提示这个一般是你的密码写错了或者你配置有问题
beryl
2024-02-18 15:44:04 +08:00
@HFX3389 Potatso

也换了其他的客户端都是不可以。
正常用着呢,突然手机不行了,电脑正常
AsAsSaSa
2024-02-18 15:45:47 +08:00
ERR_SSL_PROTOCOL_ERROR 一般是流量根本没经过 SS 导致的。
HFX3389
2024-02-18 15:46:27 +08:00
@beryl 这个客户端我没用过...试一下万能大法,重启 iOS
beryl
2024-02-18 15:47:21 +08:00
@AsAsSaSa 如果不经过,应该是超时才对呀
我关掉后,访问 google.com 是超时,打开会很快返回 ERR_SSL_PROTOCOL_ERROR
beryl
2024-02-18 15:47:57 +08:00
@HFX3389 试了,甚至怀疑 iOS 的 bug, 被迫都更新了手机系统
AsAsSaSa
2024-02-18 16:05:10 +08:00
我靠直觉而说得太快了。我不太确定各家报错的具体范畴,不过看上去像是 TLS 握手失败。这意味着你尝试握手的对端肯定不是 google ,但是确实访问到了什么东西建立了 TCP 握手。考虑到 gfw 一个奇怪的行为是 dns 会乱点谱,所以是 DNS 本地解析了?跳板结点先一步解析了 DNS ?出口结点使用了被污染的 DNS ?

(设备的不同不能代表 MAC 检测,只有单改 MAC 才是控制变量)
zhangsanfeng2012
2024-02-18 16:11:48 +08:00
@beryl #3 瞎写的,没有网络知识基础
CivAx
2024-02-18 16:22:51 +08:00
按照 OSI 七层模型,MAC 地址仅在数据链路层会被调用( 2 层),TCP 封包工作在传输层( 4 层)。TCP 包头不记录 MAC 数据,GFW 高深但也不是魔法,没可能突破现实世界的代码束缚。
IMengXin
2024-02-18 16:33:47 +08:00
我之前过 openwrt 旁路由的设备的 DNS 写了 114 好像就是这个提示,设备 dns 改成 openwrt 的 ip 就正常了...用的 openclash
julyclyde
2024-02-18 16:36:52 +08:00
@CivAx 应该说
MAC 地址仅在广播域内有效
error451
2024-02-18 16:38:46 +08:00
记录 mac 地址毫无意义, 因为只有在以太网帧中,才会存在 mac 地址。

你的电脑发送的数据, 是 IP 包,ip 包包头只包含 目标 ip 地址和源 ip 地址。

然后 IP 协议会查询路由表,发现你的目的 ip 是互联网地址,就会把 ip 数据包扔给路由器(下一跳)去处理。
方法是,封装以太网帧,以太网帧的目的 mac 是路由器的 mac , 源 mac 是你电脑的 mac

然后路由器的网卡收到以太网帧,解出 IP 报,查看目的 IP ,查询路由表,这个时候发现 IP 包的目的 IP 仍然是下一跳,于是又再次封装以太网帧,把以太网帧中的目的 mac 协议下一跳的 mac ,源 mac 写为路由器自己的 mac

然后整个网络上的所有节点都重复这个操作, 直到数据送达目的 IP 。

所以,整个传输过程中,只有 IP 数据包是不变的。以太网帧会被重复的封装,解包。 以太网帧中的目的 mac, 源 mac 会不断发生变化。

也就是说,GFW 收到的以太网帧中,源 mac 地址和目的 mac 地址,早已经不是你的设备上发出的 mac 地址了。
即使封锁了这个 mac 地址,也无法起到阻止你的设备联网的目的。 因为你和 GFW 并不处于同一个局域网中,GFW 和 GFW 的路由器中,都不存在 ip - mac(你的设备的 mac ) 的对应关系。 如果写程序封锁 mac ,那最终只能把 GFW 自己和路由器之间的数据传输封锁了。

所以可以肯定不是 Mac 的问题,不要瞎猜
duzhuo
2024-02-18 16:50:47 +08:00
@CivAx 谢谢你 网络基础侠

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

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

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

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

© 2021 V2EX