Ett flöde, fyra gränser: att hitta det sista paketet
En paketrapport kräver ett kontrollerat flöde och jämförbara observationspunkter. En saknad fångst eller en muntlig bekräftelse pekar inte ut hoppet där paketet försvinner.
Den ena sidan säger att den skickade trafiken; den andra säger att den aldrig kom fram. De två påståendena låter som en motsägelse men är oftast bara två olika mätningar. En paketräknare, en brandväggslogg och en fångst beskriver olika lager, och att jämföra dem utan etiketter ger en misstänkt i stället för en plats. Bygg rapporten kring ett flöde och dess observationspunkter.
En räknare utan sammanhang bevisar lite
Att en gateway rapporterar skickade byte är inte bevis för att andra änden tog emot en specifik begäran. Räknaren kan omfatta andra flöden, andra tider eller ett annat inkapslingslager. En räknare som stiger medan en destination inte ser något kan fortfarande vara korrekt, eftersom den mätte en annan fråga. Innan du jämför något måste flödet, tidsfönstret och lagret fastställas.
Två tal från olika lager kan vara oeniga på ett ärligt sätt. Oenigheten är början på utredningen, inte slutsatsen.
Märk varje observationspunkt
För varje observation antecknar du enheten, gränssnittet eller kroken, riktningen, klockreferensen och om den visar inre trafik eller den yttre transporten. En brandväggslogg på värden och en fångst på uplänken är olika bevis även när de skiljs av sekunder. Etiketten är det som gör att en annan ingenjör kan återskapa bilden.
Håll klockproblemet synligt. Klockor driver, och en tidsstämpel från en värd är kanske inte direkt jämförbar med en annan. Om värdarna inte kan synkroniseras, rama in försöket med tidsstämplar från båda och använd ordningen i stället för det absoluta värdet. Notera den uppmätta förskjutningen i stället för att tyst justera tiderna.
Jämför de fält som punkten faktiskt visar
Jämför adresser och protokollfält på punkter som verkligen visar dem. Räkna med avsiktlig översättning, eftersom en omskriven tupel fortfarande är samma samtal. För ett auktoriserat IPv4 Echo-test ger definitionen i RFC 792 identifierar- och sekvensfält som hjälper till att matcha begäranden och svar. Behåll även adresserna och fönstret, eftersom ett sekvensvärde ensamt inte är en unik identitet.
tcpdump -ni eth0 -c 20 'host 198.51.100.20 and icmp'
tcpdump -ni tun0 -c 20 'host 10.90.0.5 and tcp port 443'
Där den yttre delen är krypterad för du motpartssamtalet och dess riktning i en separat post. Det inre Echo-identifieraren bör inte förväntas överleva utåt i samma form. Yttre och inre räkningar får inte jämföras utan att representationen anges.
Rapportera det saknade intervallet, inte en misstänkt
En saknad observation är begränsat bevis, inte bevis för att paketet tappades på den enheten. Filter, fångstens placering, förlorade fångstdata och ett fönster som missade försöket ger alla en ofullständig registrering. Säg vad som saknas och mellan vilka gränser. En frånvaro behöver också ett utgångsdatum, så ange hur länge du observerade och vad som skulle ha behövt dyka upp.
Den andra sidans påstående att den vidarebefordrade trafiken är sammanhang, aldrig en observation. Lämna över flödet, tidsstämplarna, de märkta gränserna och ett smalt exempel. Håll rapporten kort nog att den efterfrågade observationen framträder. Det gör nästa begäran till en exakt mätning i stället för en anklagelse.
Sätt den efterfrågade mätningen i en mening. Sluta sedan skriva.