Príjemcovia, ktorí nedokážu otvoriť nahratý súbor, často počujú, že ho VPN poškodila. To je hypotéza, nie pozorovanie, a je testovateľná. Skôr než sa dotknete tunela, zistite, či sa objekt teraz uložený v cieli líši od objektu, ktorý mal byť odoslaný. Všetko ostatné z toho vyplýva.

Začnite zamýšľanými bajtmi, nie sťažnosťou

Vyberte neškodný súbor, ktorý problém reprodukuje, alebo skutočný súbor, ak pravidlá dovoľujú, aby opustil zdrojové prostredie. Pred prenosom si zapíšte dve veci: presnú veľkosť v bajtoch a moderný hash obsahu. Názvy súborov, časové značky a náhľady sú metadáta a žiadne z nich neidentifikuje obsah.

Vypočítajte hash algoritmom, ktorý zvládnu obe strany, a zapíšte, ktorý ste použili. Porovnanie medzi SHA-256 a MD5 nie je porovnanie a porovnanie dvoch rôznych súborov, ktoré náhodou zdieľajú názov, tiež nie.

PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash                                                        Path
----                                                        ----
9F2C...                                                      C:\uploads\report.csv

Referenčná dokumentácia Microsoftu k Get-FileHash opisuje príkaz a jeho parameter algoritmu, presne tú časť, ktorú ľudia vynechávajú, keď porovnanie prinesie nezmyselnú nezhodu.

Jeden hash na fázu, rovnaký algoritmus

Teraz vypočítajte ten istý algoritmus na uloženom objekte tam, kde nakoniec žije, autorizovanou metódou, nie na kópii, ktorá prešla iným nástrojom. Uloženie prijatého súboru lokálne a hashovanie tejto kópie pridáva krok, ktorý ste netestovali.

Ak služba zverejňuje vlastnú hodnotu integrity, berte ju ako samostatné pozorovanie. Kontrolný súčet, ktorý poskytovateľ uvádza, vám môže povedať, čo si poskytovateľ myslí, že uložil, a to nie je rovnaké tvrdenie ako to, čo odoslal váš klient.

Možné sú tri výsledky a ukazujú rôznymi smermi. Rovnaké hashe znamenajú, že bajty dorazili nezmenené. Rôzne hashe so známou konverziou znamenajú, že služba zámerne vytvorila nový objekt. Rôzne hashe bez konverzie znamenajú, že niečo medzi oboma bodmi zmenilo obsah, a ďalším krokom je nájsť najskoršiu hranicu, kde sa to stalo.

Oddeľte zlyhanie prenosu od transformácie

Čiastočné nahratie a poškodené nahratie vyzerajú v prehliadači súborov rovnako a sú to rôzne poruchy. Skontrolujte, či sa prenos dokončil: log aplikácie ukazujúci prerušenú požiadavku, uložený súbor, ktorého veľkosť je prefixom zdroja, alebo objekt, ktorý je v skutočnosti chybovou stránkou uloženou pod očakávanou príponou, to všetko ukazuje na neúplný prenos, nie na zmenené bajty.

Transformácia je druhé bežné vysvetlenie. Služba, ktorá znova komprimuje obrázky, prepisuje konce riadkov CSV alebo konvertuje dokument, oprávnene vytvorí hash odlišný od zdroja, a to nie je poškodenie. Porovnávajte fázu, ktorá tvrdí, že je vernou kópiou, nie konečný formát prezentácie.

Oneskorenie a strata patria do tretej kategórie. Môžu spôsobiť, že klient vyprší, skúsi to znova alebo to vzdá, a nič z toho neznamená, že bajty prijaté serverom boli ticho zmenené. Pozrite sa na výsledok prenosu, skôr než niečo pripíšete tunelu.

Skúste druhú cestu bez zmeny všetkého

Ak sa hashe naozaj líšia a žiadna konverzia neprebieha, zopakujte ten istý súbor, klienta, protokol a cieľ po inej podporovanej ceste, napríklad cez miestnu sieť namiesto VPN. Zmeňte jednu premennú. Zmena klienta, koncového bodu a nástroja naraz vám dá výsledok, ktorý nemôžete ničomu pripísať.

Udržujte porovnanie čestné v oboch smeroch. Hash vám hovorí, že dva body sa o obsahu rozchádzajú alebo zhodujú; nehovorí, ktorá strana je dôveryhodná, preto držte očakávanú hodnotu a overenie v modeli dôvery, na ktorý sa skutočne spoliehate.

Skončite konkrétnou vetou v tikete: prenos sa zastavil skoro, aplikácia objekt transformovala, úložisko ho zmenilo, alebo sa bajty zhodujú a ich čítanie je tá porucha. Každá z tých možností má iného vlastníka a žiadna z nich nie je predvolene VPN.

Súvisiace články