Загрузка выглядае пашкоджанай: параўнайце хэшы на абодвух канцах
Няўдалая загрузка — не доказ таго, што тунель змяніў байты. Параўнайце прызначаны файл з захаваным вынікам, затым знайдзіце першую мяжу, дзе яны разыходзяцца.
Атрымальнікі, якія не могуць адкрыць загружаны файл, часта чуюць, што VPN яго пашкодзіў. Гэта гіпотэза, а не назіранне, і яе можна праверыць. Перш чым кранаць тунель, устанавіце, ці аб’ект, які зараз захаваны ў пункце прызначэння, адрозніваецца ад аб’екта, які павінен быў быць адпраўлены. Усё астатняе вынікае з гэтага адказу.
Пачніце з прызначаных байтаў, а не са скаргі
Выберыце бясшкодны файл, які ўзнаўляе праблему, або сапраўдны файл, калі палітыка дазваляе яму пакінуць зыходнае асяроддзе. Запішыце дзве рэчы перад перадачай: дакладны памер у байтах і сучасны хэш змесціва. Імёны файлаў, часовыя меткі і прадпрагляды — гэта метаданыя, і ні адзін з іх не вызначае змесціва.
Вылічыце хэш алгарытмам, які могуць выканаць абодва бакі, і запішыце, які менавіта вы выкарысталі. Параўнанне паміж SHA-256 і MD5 — не параўнанне, і параўнанне паміж двума рознымі файламі, якія выпадкова маюць аднолькавае імя, таксама не параўнанне.
PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash Path
---- ----
9F2C... C:\uploads\report.csv
Даведка Microsoft па Get-FileHash апісвае каманду і яе параметр алгарытму, менавіта тую частку, якую людзі прапускаюць, калі параўнанне дае бессэнсоўнае разыходжанне.
Адзін хэш на этап, той самы алгарытм
Цяпер вылічыце той самы алгарытм на захаваным аб’екце там, дзе ён урэшце знаходзіцца, дазволеным метадам, а не праз копію, якая прайшла праз іншы інструмент. Захаванне атрыманага файла лакальна і хэшаванне гэтай копіі дадае крок, які вы не правяралі.
Калі сэрвіс паказвае ўласнае значэнне цэласнасці, стаўцеся да яго як да асобнага назірання. Кантрольная сума, якую паведамляе пастаўшчык, можа сказаць, што пастаўшчык лічыць захаваным, і гэта не тое ж сцвярджэнне, што адправіў ваш кліент.
Магчымыя тры вынікі, і яны паказваюць у розных кірунках. Роўныя хэшы азначаюць, што байты прыйшлі нязменнымі. Розныя хэшы з вядомым пераўтварэннем азначаюць, што сэрвіс наўмысна стварыў новы аб’ект. Розныя хэшы без пераўтварэння азначаюць, што нешта паміж двума пунктамі змяніла змесціва, і наступны крок — знайсці самую раннюю мяжу, дзе гэта адбылося.
Аддзяліце збой перадачы ад пераўтварэння
Частковая загрузка і пашкоджаная загрузка выглядаюць аднолькава ў файлавым браўзеры і з’яўляюцца рознымі няспраўнасцямі. Праверце, ці перадача завяршылася: журнал праграмы з перарваным запытам, захаваны файл, памер якога з’яўляецца прэфіксам крыніцы, або аб’ект, які насамрэч з’яўляецца старонкай памылкі, захаванай пад чаканым пашырэннем, усё гэта сведчыць пра няпоўную перадачу, а не пра змененыя байты.
Пераўтварэнне — іншае распаўсюджанае тлумачэнне. Сэрвіс, які пераціскае выявы, перапісвае канцы радкоў CSV або канвертуе дакумент, цалкам законна створыць хэш, які адрозніваецца ад крыніцы, і гэта не пашкоджанне. Параўнайце этап, які сцвярджае, што ён з’яўляецца дакладной копіяй, а не канчатковы фармат падачы.
Затрымка і страты належаць да трэцяй катэгорыі. Яны могуць прымусіць кліент чакаць занадта доўга, паўтарыць спробу або адмовіцца, і нішто з гэтага не азначае, што байты, прынятыя серверам, былі ціха зменены. Паглядзіце на вынік перадачы, перш чым адносіць што-небудзь да тунеля.
Паспрабуйце другі шлях, не змяняючы ўсё
Калі хэшы сапраўды розныя і пераўтварэння няма, паўтарыце той самы файл, кліент, пратакол і пункт прызначэння па іншым падтрымліваемым шляху, напрыклад праз лакальную сетку замест VPN. Змяніце адну зменную. Змяненне кліента, канчатковага пункта і інструмента адначасова дае вынік, які вы не можаце аднесці ні да чаго.
Трымайце параўнанне сумленным у абодвух кірунках. Хэш кажа вам, што два пункты разыходзяцца або сыходзяцца адносна змесціва; ён не кажа, які бок варта давяраць, таму трымайце чаканае значэнне і праверку ўнутры мадэлі даверу, на якую вы сапраўды абапіраецеся.
Скончыце канкрэтным сказам у заяўцы: перадача спынілася раней, праграма пераўтварыла аб’ект, сховішча змяніла яго, або байты супадаюць і чытанне іх і ёсць збой. Кожны з гэтых варыянтаў мае іншага ўладальніка, і ні адзін з іх па змаўчанні не VPN.