Destinatarii care nu pot deschide un fișier încărcat aud adesea că VPN-ul l-a corupt. Aceasta este o ipoteză, nu o observație, și poate fi testată. Înainte de a atinge tunelul, stabiliți dacă obiectul stocat acum la destinație diferă de obiectul care trebuia trimis. Tot restul decurge din acel răspuns.

Începeți cu octeții doriți, nu cu reclamația

Alegeți un fișier inofensiv care reproduce problema, sau fișierul real dacă politica permite să părăsească mediul sursă. Notați două lucruri înainte de transfer: dimensiunea exactă în octeți și un hash de conținut modern. Numele fișierelor, marcajele de timp și previzualizările sunt metadate, și niciunul dintre ele nu identifică conținutul.

Calculați hashul cu un algoritm pe care ambele capete îl pot rula și notați pe care l-ați folosit. O comparație între SHA-256 și MD5 nu este o comparație, și nici o comparație între două fișiere diferite care împart întâmplător un nume.

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

Referința Get-FileHash de la Microsoft documentează comanda și parametrul ei de algoritm, exact partea pe care oamenii o sar când o comparație produce o nepotrivire lipsită de sens.

Un hash pe etapă, același algoritm

Acum calculați același algoritm pe obiectul stocat acolo unde se află în cele din urmă, cu o metodă autorizată și nu cu o copie care a trecut printr-un alt instrument. Salvarea fișierului primit local și hasharea acelei copii adaugă un pas pe care nu l-ați testat.

Dacă serviciul expune o valoare de integritate proprie, tratați-o ca pe o observație separată. Suma de control raportată de furnizor vă poate spune ce crede furnizorul că a stocat, și nu este aceeași afirmație ca ceea ce a trimis clientul dumneavoastră.

Sunt posibile trei rezultate și indică direcții diferite. Hashuri egale înseamnă că octeții au ajuns neschimbați. Hashuri diferite cu o conversie cunoscută înseamnă că serviciul a produs intenționat un obiect nou. Hashuri diferite fără conversie înseamnă că ceva între cele două puncte a modificat conținutul, iar pasul următor este să găsiți cea mai timpurie graniță unde s-a întâmplat.

Separați eroarea de transfer de transformare

O încărcare parțială și o încărcare coruptă arată identic într-un browser de fișiere și sunt defecte diferite. Verificați dacă transferul s-a încheiat: un jurnal al aplicației care arată o cerere întreruptă, un fișier stocat a cărui dimensiune este un prefix al sursei, sau un obiect care este de fapt o pagină de eroare salvată sub extensia așteptată, toate indică un transfer incomplet și nu octeți modificați.

Transformarea este cealaltă explicație obișnuită. Un serviciu care recomprimă imagini, rescrie terminațiile de linie ale unui CSV sau convertește un document va produce în mod legitim un hash diferit de cel al sursei, și aceasta nu este corupție. Comparați etapa care pretinde a fi copia fidelă, nu formatul final de prezentare.

Întârzierea și pierderea aparțin unei a treia categorii. Ele pot face un client să depășească timpul, să reîncerce sau să renunțe, și nimic din toate acestea nu implică faptul că octeții acceptați de server au fost schimbați în tăcere. Uitați-vă la rezultatul transferului înainte de a atribui ceva tunelului.

Încercați o a doua cale fără a schimba totul

Dacă hashurile chiar diferă și nu există conversie, repetați același fișier, client, protocol și destinație pe o altă cale acceptată, cum ar fi o rețea locală în locul VPN-ului. Schimbați o singură variabilă. Schimbarea clientului, a punctului final și a instrumentului deodată vă oferă un rezultat pe care nu îl puteți atribui.

Păstrați comparația onestă în ambele direcții. Un hash vă spune că două puncte nu sunt de acord sau sunt de acord cu privire la conținut; nu vă spune care parte este de încredere, așa că păstrați valoarea așteptată și verificarea în modelul de încredere pe care vă bazați cu adevărat.

Încheiați cu o propoziție concretă în tichet: transferul s-a oprit devreme, aplicația a transformat obiectul, stocarea l-a modificat, sau octeții coincid și citirea lor este defectul. Fiecare dintre acestea are un proprietar diferit, și niciuna dintre ele nu este VPN-ul implicit.

Articole similare