Качването изглежда повредено: сравнете хешовете в двата края
Неуспешното качване не доказва, че тунелът е променил байтовете. Сравнете предвидения файл със съхранения резултат, после открийте първата граница, където се разминават.
Получателите, които не могат да отворят качен файл, често чуват, че 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 по подразбиране.