Eén stroom, vier grenzen: het laatste pakket vinden
Een pakketrapport heeft één gecontroleerde stroom en vergelijkbare observatiepunten nodig. Een ontbrekende opname of een mondelinge bevestiging wijst de hop waar het pakket wegvalt niet aan.
De ene kant zegt dat het verkeer is verzonden; de andere zegt dat het nergens aankwam. Die twee uitspraken klinken als een tegenspraak en zijn meestal gewoon twee verschillende metingen. Een pakkettelling, een firewall-log en een opname beschrijven verschillende lagen, en ze zonder labels vergelijken levert een verdachte op in plaats van een locatie. Bouw het rapport rond één stroom en de bijbehorende observatiepunten.
Een teller zonder context bewijst weinig
Dat een gateway uitgaande bytes meldt, is geen bewijs dat de andere kant een specifiek verzoek heeft ontvangen. De teller kan andere stromen, andere tijdstippen of een andere inkapselingslaag bevatten. Een teller die oploopt terwijl een bestemming niets ziet, kan toch juist zijn, omdat hij een andere vraag heeft gemeten. Leg vóór elke vergelijking de stroom, het tijdvenster en de laag vast.
Twee getallen uit verschillende lagen kunnen het oprecht oneens zijn. De onenigheid is het begin van het onderzoek, niet de conclusie.
Label elk observatiepunt
Leg per observatie het apparaat, de interface of hook, de richting, de klokreferentie en of het binnenverkeer dan wel het buitenvervoer toont vast. Een firewall-log op de host en een opname op de uplink zijn verschillend bewijs, ook als ze seconden uit elkaar liggen. Het label is wat een andere engineer in staat stelt de weergave te reproduceren.
Houd het klokprobleem zichtbaar. Klokken lopen uiteen, en een tijdstempel van de ene host is misschien niet direct vergelijkbaar met dat van een andere. Als de hosts niet gesynchroniseerd kunnen worden, omsluit de poging dan met tijdstempels van beide en gebruik de ordening in plaats van de absolute waarde. Noteer de gemeten afwijking in plaats van de tijden stilletjes aan te passen.
Vergelijk de velden die het punt echt toont
Vergelijk adressen en protocolvelden op punten die ze daadwerkelijk tonen. Houd rekening met bewuste vertaling, want een herschreven tuple is nog steeds hetzelfde gesprek. Voor een geautoriseerde IPv4 Echo-test geeft de RFC 792-definitie identificatie- en sequentievelden die helpen verzoeken en antwoorden te koppelen. Houd ook de adressen en het venster bij, want een sequentiewaarde alleen is geen unieke identiteit.
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'
Waar het buitenste been versleuteld is, bewaar je het gesprek met de peer en de richting in een apart record. Van de binnenste Echo-identificatie mag je niet verwachten dat die buiten in dezelfde vorm overleeft. Buitenste en binnenste tellingen mogen niet worden vergeleken zonder de representatie te vermelden.
Rapporteer het ontbrekende interval, geen verdachte
Een ontbrekende observatie is begrensd bewijs, geen bewijs dat het pakket op dat apparaat is weggevallen. Filters, de plaats van de opname, weggevallen opnamedata en een venster dat de poging miste, leveren allemaal een onvolledig verslag op. Zeg wat er ontbreekt en tussen welke grenzen. Een afwezigheid heeft ook een vervaldatum nodig, dus geef aan hoe lang je hebt geobserveerd en wat er dan had moeten verschijnen.
Een bewering van de andere kant dat het verkeer is doorgestuurd, is context, nooit een observatie. Overhandig de stroom, de tijdstempels, de gelabelde grenzen en één smal voorbeeld. Houd het rapport kort genoeg dat de gevraagde observatie eruit springt. Dat maakt van het volgende verzoek een precieze meting in plaats van een beschuldiging.
Zet de gevraagde meting in één zin. Stop dan met schrijven.