下载的 ISO 如何损坏?

Tre*_*ith 3 security iso-image download checksum file-corruption

可能的重复:
是否有可能使用 http 损坏下载?

我下载了 Fedora 的 ISO。去安装它作为一个VM。安装程序失败了 5 次。失败的警告是“可能损坏的安装映像”。下载的 ISO 如何损坏?

(我很固执,不想再次下载大文件)所以最后在 5 次失败后我再次下载 ISO ......我想......也许警告是正确的。

因此,我没有盲目地相信下载,而是使用提供的“sha256”校验和来验证 ISO。“!好吧,把我吹倒橄榄油!” 果然第一次下载的ISO没通过校验和测试!

我的问题是……我的 ISO 损坏的最可能方式(或复数方式)是什么?

更新:

  • 下载的两个 ISO 文件的总字节数相同。
  • 我是如何下载ISO文件的?我是通过浏览器中的链接下载的。然后浏览器进行了下载。所以http。
  • 我的电脑如何连接到互联网,物理/无线?无线的。Wifi(不安全......我知道不安全......)。

Hel*_*o71 8

HTTP 和 FTP 没有内置校验和。TCP 提供基本的校验和方法(填充和补码相加),但这些方法不考虑数据在传输之前、存储期间(电源故障)和存储之后(损坏的硬盘驱动器)损坏。

另一方面,BitTorrent 使用加密强(er)方法(CRC32 或 MD5)对收到的每个块(几百 KB 到几兆字节,取决于 torrent)进行校验和,该方法在 TCP 校验和之上,是几乎可以保证是正确的。

但是,在保存文件后,再多的校验和也无法防止损坏。(例如下载过程中断电)


Red*_*ick 5

下载损坏文件的一种臭名昭著的方法是在文本模式下使用 FTP 来获取非文本文件(例如 ISO)。

在文本模式下,FTP 协议允许转换行尾,因此当从 Unix 下载到 Windows 时,每个 0x0a 都被 0x0d 0x0a(LF -> CR LF)替换,这对于二进制文件的完整性来说是灾难性的,其中 0x0A 可以作为不代表换行符/换行符 (LF) 的数据的一部分出现