samba 服务上的同一个视频为什么有不同的 MD5?

2022-02-20 16:59:42 +08:00
 pxx
PS D:\test> CertUtil -hashfile "Z:\series\生活大爆炸 (2007)\Season 1\生活大爆炸 - S01E01 - 试播集.mkv" md5
MD5 的 Z:\series\生活大爆炸 (2007)\Season 1\生活大爆炸 - S01E01 - 试播集.mkv 哈希:
3b7a7b9379e0bc057b7d4a3f574dc10e
CertUtil: -hashfile 命令成功完成。
PS D:\test> CertUtil -hashfile "Z:\series\生活大爆炸 (2007)\Season 1\生活大爆炸 - S01E01 - 试播集.mkv" md5
MD5 的 Z:\series\生活大爆炸 (2007)\Season 1\生活大爆炸 - S01E01 - 试播集.mkv 哈希:
23bdbbd2e1feafebcd63d40fbd3eb359
CertUtil: -hashfile 命令成功完成。
PS D:\test>

网上查了下,有人说是 samba 协议加密的问题,但应该只是在传输过程中吧,不然用 samba 做备份同步时怎么判断是否是同一个文件

试了下用 JPG 图片,是没有不同的 MD5 的

samba 服务是部署在 debian 系统,应该和这个没有关系吧 现在没有什么思路,请大佬指导一下

1611 次点击
所在节点    问与答
17 条回复
jtshs256
2022-02-20 17:21:28 +08:00
pxx
2022-02-20 17:45:59 +08:00
@jtshs256 表象和帖子一样,全部视频被污染了,但我用的不是网件,有几个牌子的路由做 AP ,但 asus 的是开了 AP 模式的,AC 是软路由,工控机刷的 LEDE ,我按这个思路查查,感谢
duke807
2022-02-20 18:34:21 +08:00
@jtshs256
真是這個問題的話,用 IPv6 應該可以避免吧,因為路由器不需要重新打包 TCP/UDP 數據包,數據被竄改可以通過 checksum 檢查出來。
ysc3839
2022-02-20 18:41:38 +08:00
@duke807 IPv4 也不需要吧?而且现在大多数网络设备都不检查 checksum 了,都是让上层协议(如 https)来检查
duke807
2022-02-20 18:55:01 +08:00
@ysc3839
ipv4 不是一個網段要走 NAT ,需要修改 TCP 和 UDP 包頭的端口號,改完之後肯定要重新計算 checksum ,那麼新計算的 checksum 正好和被竄改的數據匹配上了,導致接收者檢查不出來錯誤。

家庭 /公司內部網絡走 IPv6 避免了 NAT 的開銷,應該傳輸效率更高。
duke807
2022-02-20 19:03:16 +08:00
@ysc3839
最底層的以太網包肯定會檢查校驗
IPv4 包頭有校驗,IPv6 包頭沒有校驗,依靠以太網層的校驗就夠了,減少開銷,增加效率
UDP 的包的校驗說是配合 IPv4 的時候可選(主流系統默認都是開啟校驗的),配合 IPv6 的時候必選
TCP 包的校驗都是必選

問題是 samba 這個協議不夠穩健,我一直不怎麼喜歡 samba ,其它的 ssh-fs 等協議,肯定不會有這種問題
loading
2022-02-20 19:06:46 +08:00
@duke807 #6 你说的以太网校验是奇偶校验?
duke807
2022-02-20 19:09:22 +08:00
@loading
Ethernet frame 是 32 位 CRC 校驗
wanguorui123
2022-02-20 19:43:47 +08:00
先排查下网络设备问题还是 SMB 协议的可靠性问题
Buges
2022-02-20 21:10:35 +08:00
你先 ssh 上去算一下文件原本的 hash
pxx
2022-02-20 21:57:34 +08:00
我用网线直连主路由,一样会有这样的问题,基本可以排除 AP 的问题

到 samba 服务器去 md5sum 是没问题的

我把 700M 的 ideaIU-2020.3.3.exe 拷贝到 samba 服务器,再拷贝回本机,MD5 变了
所以现在的问题的是从 samba 服务器拷贝大文件到本地 MD5 就会变化,小文件不会变化
换了机器换了 CLIENT 问题依旧,可能是 samba 服务的问题?
ZRS
2022-02-21 01:14:02 +08:00
@pxx 试过重启或者更换主路由吗,或者启用 smb encrypt/signing
msg7086
2022-02-21 03:48:55 +08:00
@pxx 测试一下内存坏点。
pxx
2022-02-21 22:50:56 +08:00
@msg7086 怎么测试,现在用另外一个 nas 上部署 samba 服务是没问题的,现在初步结论应该是 samba 服务的硬件问题导致
msg7086
2022-02-22 03:40:21 +08:00
@pxx 跑一下 memtest ,又或者是如果有多条内存的话一次只插一条。
pxx
2022-02-22 22:31:19 +08:00
@msg7086 用 U 盘跑 memtest 进入引导后一直黑屏,不知怎么回事。后面我直接换了一条内存,也没解决问题,可以排除内存的问题
pxx
2022-02-26 11:02:46 +08:00
排除下来最后发现是网卡的问题,谢谢大家

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

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

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

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

© 2021 V2EX