Analyzátor označí paket za takový, který má špatný kontrolní součet, a stažený soubor vypadá špatně, takže se obě pozorování spojí do jednoho příběhu o poškození na VPN. Jsou to různá měření provedená v různých bodech. Jedno popisuje, co zachytávací mechanismus viděl předtím, než síťový adaptér dokončil svou práci; druhé popisuje bajty, které aplikace uložila. Určit, které z nich se skutečně změnilo, je celá diagnóza.

Kde zachycení stojí vůči adaptéru

Zachycení paketů je snímek v jednom bodě cesty, která obsahuje několik transformací. Mezi hostitelským zásobníkem a drátem stojí segmentace, výpočet kontrolního součtu a při příjmu slučování. Zachytávací bod ukazuje stav v daném okamžiku, který se jen zřídka shoduje s konečným rámcem na drátě. Číst ho, jako by to byl drát, je právě to, jak se z pole s výplní stane obvinění.

Užitečná otázka u každého podezřelého pole tedy není, zda vypadá špatně, ale kde bylo pozorováno. Vedle zjištění napište rozhraní zachycení, verzi analyzátoru a vrstvu paketu; bez těchto tří údajů nelze označení kontrolního součtu vůbec interpretovat.

Co dělá odkládání přenosu se stopou

Když je zapnuté odkládání kontrolního součtu při přenosu, adaptér vypočítá kontrolní součet a vyplní pole poté, co hostitel paket zařadil do fronty. Zachycení na straně hostitele proto zaznamená výplň a analyzátor hlásí kontrolní součet, který drát nikdy nepřenesl. Odkládání segmentace vytváří podobný artefakt, protože hostitel může adaptéru předat jeden velký buffer, který se později stane několika rámci.

Referenční stránka Wiresharku o odkládání popisuje oba efekty a upozorňuje, že rozpoznání částečných kontrolních součtů závisí na verzi analyzátoru a typu paketu. Proto se starší nástroj pro zachycení a novější mohou neshodnout na stejné stopě, i když ji oba čtou správně.

Zapouzdření přidává druhý objekt

VPN vkládá do obrázku druhý paket. Rozhraní tunelu ukazuje vnitřní paket, který aplikace skutečně odeslala, zatímco fyzické rozhraní ukazuje vnější zapouzdřené spojení, které ho nese. Kontrolní součet nebo délka převzaté z vnitřního paketu nepatří vnějšímu rámci a porovnávat oba, jako by popisovaly tentýž objekt, dává nesmysl.

Když potřebujete porovnávat, porovnávejte srovnatelné: vnitřní s vnitřním, vnější s vnějším, ve stejném bodě cesty. Neshodná dvojice polí dokazuje jen to, že byly změřeny dva různé objekty. Poznamenejte si, ze kterého rozhraní každá stopa pochází, protože zachycení tunelu, které vypadá čistě, nic neříká o tom, co adaptér vyslal.

Prokažte integritu souboru hashi

Pro samotný soubor vypočítejte hash obsahu z reprodukovatelného zdroje a z uloženého výsledku a porovnejte otisky. To odpovídá na jinou otázku než jakékoli označení u jednotlivého paketu a odpovídá na ni ohledně objektu, na kterém uživateli skutečně záleží.

sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head

Stejné otisky uzavírají otázku poškození pro daný přenos. Různé otisky otevírají užší otázku: najděte nejranější fázi, kde se bajty rozcházejí, a ověřte, zda soubor něco záměrně nepřetvořilo. Částečné uložení, znovu zakódovaná příloha a chybová stránka uložená pod očekávaným názvem souboru mění bajty bez jakékoli síťové závady.

Lokalizujte cestu adaptéru, aniž byste ji učinili trvalou

U reprodukovatelného problému, který sleduje jednu dokovací stanici nebo adaptér, držte profil VPN, aplikaci, testovací objekt a cíl pevně a poté přenos zopakujte přes podporované alternativní rozhraní. Výsledek, který se s adaptérem mění, lokalizuje závadu na tuto cestu; dosud však neurčuje nastavení ovladače ani neprokazuje závadu celého modelu.

Globální vypnutí odkládání je lákavý test a špatná výchozí volba. Nastavení pro celého hostitele ovlivňuje provoz daleko za hranicemi experimentu a může mít skutečnou cenu ve výkonu, proto každou takovou změnu berte jako dočasnou, zaznamenejte ji a vraťte zpět. Než si ponecháte provizorní řešení vypůjčené z jiného stroje, použijte výrobcem podporovanou diagnostiku.

Zpráva by měla uvést, který ze tří výsledků se změnil: interpretace paketu analyzátorem, dokončené bajty aplikace, nebo reprodukovatelnost jedné cesty adaptéru. Vede to ke třem různým dalším krokům a jen jeden z nich se týká šifrování.

Související články