Augšupielāde izskatās bojāta: salīdziniet jaucējvērtības abos galos
Neizdevusies augšupielāde nav pierādījums, ka tunelis mainīja baitus. Salīdziniet paredzēto failu ar saglabāto rezultātu, pēc tam atrodiet pirmo robežu, kur tie atšķiras.
Saņēmēji, kuri nevar atvērt augšupielādēto failu, bieži dzird, ka VPN to sabojāja. Tā ir hipotēze, nevis novērojums, un to var pārbaudīt. Pirms pieskaraties tunelim, noskaidrojiet, vai objekts, kas tagad glabājas galamērķī, atšķiras no objekta, kas bija jānosūta. Viss pārējais izriet no šīs atbildes.
Sāciet ar paredzētajiem baitiem, nevis ar sūdzību
Izvēlieties nekaitīgu failu, kas atkārto problēmu, vai īsto failu, ja politika ļauj tam atstāt avota vidi. Pirms pārsūtīšanas pierakstiet divas lietas: precīzu izmēru baitos un mūsdienīgu satura jaucējvērtību. Failu nosaukumi, laika zīmes un priekšskatījumi ir metadati, un neviens no tiem neidentificē saturu.
Aprēķiniet jaucējvērtību ar algoritmu, ko var palaist abi gali, un pierakstiet, kuru izmantojāt. Salīdzinājums starp SHA-256 un MD5 nav salīdzinājums, un salīdzinājums starp diviem dažādiem failiem, kuriem nejauši ir vienāds nosaukums, arī nav.
PS> Get-FileHash -LiteralPath "C:\uploads\report.csv" -Algorithm SHA256
Hash Path
---- ----
9F2C... C:\uploads\report.csv
Microsoft Get-FileHash atsauce dokumentē komandu un tās algoritma parametru, tieši to daļu, ko cilvēki izlaiž, kad salīdzinājums dod bezjēdzīgu neatbilstību.
Viena jaucējvērtība katram posmam, tas pats algoritms
Tagad aprēķiniet to pašu algoritmu saglabātajam objektam tur, kur tas galu galā atrodas, izmantojot atļautu metodi, nevis kopiju, kas gājusi caur citu rīku. Saņemtā faila saglabāšana lokāli un šīs kopijas jaucēšana pievieno soli, kuru neesat pārbaudījis.
Ja pakalpojums atklāj savu integritātes vērtību, uztveriet to kā atsevišķu novērojumu. Pakalpojumu sniedzēja ziņotā kontrolsumma var pateikt, ko sniedzējs uzskata par saglabātu, un tas nav tas pats apgalvojums, ko nosūtīja jūsu klients.
Iespējami trīs rezultāti, un tie norāda dažādos virzienos. Vienādas jaucējvērtības nozīmē, ka baiti ieradās nemainīti. Atšķirīgas jaucējvērtības ar zināmu pārveidi nozīmē, ka pakalpojums apzināti izveidoja jaunu objektu. Atšķirīgas jaucējvērtības bez pārveides nozīmē, ka kaut kas starp diviem punktiem mainīja saturu, un nākamais solis ir atrast agrāko robežu, kur tas notika.
Atdaliet pārsūtīšanas kļūdu no pārveides
Daļēja augšupielāde un bojāta augšupielāde failu pārlūkā izskatās vienādi un ir dažādi defekti. Pārbaudiet, vai pārsūtīšana pabeigta: lietojumprogrammas žurnāls, kas rāda pārtrauktu pieprasījumu, saglabāts fails, kura izmērs ir avota prefikss, vai objekts, kas patiesībā ir kļūdas lapa, saglabāta ar gaidīto paplašinājumu, visi norāda uz nepilnīgu pārsūtīšanu, nevis mainītiem baitiem.
Pārveide ir otrs izplatītais skaidrojums. Pakalpojums, kas atkārtoti saspiež attēlus, pārraksta CSV rindu beigas vai pārveido dokumentu, likumīgi radīs jaucējvērtību, kas atšķiras no avota, un tas nav bojājums. Salīdziniet posmu, kas apgalvo, ka ir uzticīgā kopija, nevis galīgo attēlošanas formātu.
Aizture un zudums pieder trešajai kategorijai. Tie var likt klientam nokavēt laiku, mēģināt vēlreiz vai padoties, un nekas no tā nenozīmē, ka servera pieņemtie baiti tika klusi mainīti. Apskatiet pārsūtīšanas rezultātu, pirms kaut ko attiecināt uz tuneli.
Izmēģiniet otru ceļu, nemainot visu
Ja jaucējvērtības tiešām atšķiras un pārveides nav, atkārtojiet to pašu failu, klientu, protokolu un galamērķi citā atbalstītā ceļā, piemēram, vietējā tīklā, nevis VPN. Mainiet vienu mainīgo. Klienta, galapunkta un rīka maiņa uzreiz dod rezultātu, ko nevarat attiecināt.
Saglabājiet salīdzinājumu godīgu abos virzienos. Jaucējvērtība pasaka, ka divi punkti nepiekrīt vai piekrīt par saturu; tā nepasaka, kura puse ir uzticama, tāpēc turiet gaidīto vērtību un pārbaudi tajā uzticības modelī, uz kuru jūs patiešām paļaujaties.
Pabeidziet ar konkrētu teikumu biļetenā: pārsūtīšana apstājās agri, lietojumprogramma pārveidoja objektu, krātuve to mainīja, vai baiti sakrīt un to lasīšana ir kļūda. Katram no tiem ir cits īpašnieks, un neviens no tiem pēc noklusējuma nav VPN.