Analysatorn markerar ett paket som ett med dålig kontrollsumma, och en nedladdad fil ser fel ut, så de två observationerna smälts samman till en enda historia om korruption på VPN:en. Det är olika mätningar tagna på olika punkter. Den ena beskriver vad upptagningsmekanismen såg innan nätverksadaptern gjorde klart sitt arbete; den andra beskriver de byte som programmet sparade. Att fastställa vilken av dem som faktiskt ändrades är hela diagnosen.

Var upptagningen sitter i förhållande till adaptern

En paketupptagning är en ögonblicksbild vid en punkt på en väg som innehåller flera transformationer. Mellan värdstacken och ledningen ligger segmentering, beräkning av kontrollsumma och, vid mottagning, sammanslagning. En upptagningspunkt visar tillståndet i det ögonblicket, vilket sällan är identiskt med den slutliga ramen på ledningen. Att läsa den som om den vore ledningen är just hur ett platshållarfält blir en anklagelse.

Den användbara frågan om ett misstänkt fält är därför inte om det ser fel ut, utan var det observerades. Skriv upptagningsgränssnittet, analysatorns version och paketlagret bredvid fyndet; utan dessa tre kan en kontrollsummeetikett inte tolkas alls.

Vad sändningsoffload gör med ett spår

När sändningsoffload för kontrollsumma är aktiverat beräknar adaptern kontrollsumman och fyller i fältet efter att värden har lagt paketet i kön. En upptagning på värdsidan registrerar därför en platshållare, och analysatorn rapporterar en kontrollsumma som ledningen aldrig bar. Segmenteringsoffload skapar en liknande artefakt, eftersom värden kan ge adaptern en enda stor buffert som senare blir flera ramar.

Wiresharks referens om offload beskriver båda effekterna och noterar att igenkänning av partiella kontrollsummor beror på analysatorns version och pakettypen. Därför kan ett äldre upptagningsverktyg och ett nyare vara oense om samma spår medan båda läser det korrekt.

Inkapsling lägger till ett andra objekt

En VPN sätter in ett andra paket i bilden. Tunnelgränssnittet visar det inre paketet som programmet faktiskt skickade, medan det fysiska gränssnittet visar den yttre inkapslade förbindelsen som bär det. En kontrollsumma eller längd hämtad från det inre paketet tillhör inte den yttre ramen, och att jämföra de två som om de beskrev samma objekt ger nonsens.

När du måste jämföra, jämför lika med lika: inre med inre, yttre med yttre, vid samma punkt på vägen. Ett par fält som inte stämmer bevisar bara att två olika objekt mättes. Notera vilket gränssnitt varje spår kom från, för en ren upptagning av en tunnel säger ingenting om vad adaptern sände ut.

Bevisa filintegritet med hashar

För själva filen beräknar du en innehållshash av en reproducerbar källa och av det sparade resultatet, och jämför sedan sammandragen. Det svarar på en annan fråga än någon etikett per paket, och det svarar på den om objektet som användaren faktiskt bryr sig om.

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

Lika sammandrag stänger korruptionsfrågan för den överföringen. Olika sammandrag öppnar en snävare: hitta det tidigaste steget där byten divergerar och kontrollera om något har omvandlat filen med avsikt. En delvis sparning, en omkodad bilaga och en felsida sparad under det förväntade filnamnet ändrar alla byte utan något nätverksfel.

Lokalisera en adapterväg utan att göra den permanent

För ett reproducerbart problem som följer en enda docka eller adapter, håll VPN-profilen, programmet, testobjektet och destinationen fasta och upprepa sedan överföringen via ett stött alternativt gränssnitt. Ett resultat som ändras med adaptern lokaliserar felet till den vägen; det identifierar ännu inte en drivrutinsinställning och bevisar inte ett fel för hela modellen.

Att stänga av offload globalt är ett frestande test och en dålig standard. En inställning för hela värden påverkar trafik långt utanför experimentet och kan medföra en verklig prestandakostnad, så behandla varje sådan ändring som tillfällig, dokumentera den och återställ den. Använd tillverkarens stödda diagnostik innan du behåller en kringgång som lånats från en annan maskin.

Rapporten bör ange vilket av de tre resultaten som ändrades: analysatorns tolkning av ett paket, programmets färdiga byte eller reproducerbarheten hos en adapterväg. De leder till tre olika nästa åtgärder, och bara en av dem handlar om kryptering.

Relaterade artiklar