Один потік, чотири межі: пошук останнього пакета
Звіт про пакети потребує одного контрольованого потоку й зіставних точок спостереження. Відсутній запис або усне підтвердження не вказують на ділянку, де пакет губиться.
Одна сторона каже, що надіслала трафік; інша — що він нікуди не дійшов. Ця пара тверджень звучить як суперечність, а зазвичай це два різні вимірювання. Лічильник пакетів, журнал міжмережевого екрана й запис трафіку описують різні рівні, і порівняння їх без позначок дає підозрюваного замість місця. Будуйте звіт навколо одного потоку та його точок спостереження.
Лічильник без контексту доводить небагато
Повідомлення шлюзу про надіслані байти не доводить, що дальня сторона отримала конкретний запит. Лічильник може охоплювати інші потоки, інші моменти часу або інший рівень інкапсуляції. Лічильник, що зростає, поки одержувач нічого не бачить, усе одно може бути правильним, бо вимірював інше питання. Перш ніж щось порівнювати, зафіксуйте потік, вікно та рівень.
Два числа з різних рівнів можуть чесно розходитися. Розходження — це початок розслідування, а не висновок.
Позначайте кожну точку спостереження
Для кожного спостереження записуйте пристрій, інтерфейс або точку перехоплення, напрямок, опорний годинник і те, чи показує воно внутрішній трафік чи зовнішній транспорт. Журнал міжмережевого екрана на хості й запис на висхідному каналі — різні докази, навіть якщо їх розділяють секунди. Саме позначка дає іншому інженеру змогу відтворити картину.
Тримайте проблему годинника на видноті. Годинники розходяться, і позначка часу, знята на одному хості, може бути не зіставною з іншою. Якщо хости не вдається синхронізувати, обмежте спробу позначками часу з обох боків і використовуйте порядок, а не абсолютне значення. Записуйте виміряне зміщення, а не тихо коригуйте часи.
Порівнюйте поля, які точка справді показує
Порівнюйте адреси та поля протоколу в тих точках, де вони справді видимі. Враховуйте навмисне перетворення, бо переписаний кортеж залишається тією самою розмовою. Для дозволеного тесту IPv4 Echo визначення в RFC 792 дає поля ідентифікатора й послідовності, які допомагають зіставити запити та відповіді. Зберігайте також адреси й вікно, оскільки саме значення послідовності не є унікальним ідентифікатором.
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'
Там, де зовнішня ділянка зашифрована, ведіть розмову з партнером та її напрямок в окремому записі. Не слід очікувати, що внутрішній ідентифікатор Echo збережеться ззовні в тому самому вигляді. Зовнішні й внутрішні лічильники не можна порівнювати, не вказавши подання.
Повідомляйте про відсутній інтервал, а не про підозрюваного
Відсутнє спостереження — це обмежений доказ, а не доказ того, що пакет загубився на цьому пристрої. Фільтри, місце запису, втрачені дані запису й вікно, що пропустило спробу, дають неповний запис. Скажіть, чого бракує і між якими межами. Відсутність також потребує терміну, тож зазначте, як довго ви спостерігали і що мало б з'явитися.
Твердження іншої сторони, що вона переслала трафік, — це контекст, а не спостереження. Передайте потік, позначки часу, позначені межі й один вузький приклад. Тримайте звіт достатньо коротким, щоб запитане спостереження вирізнялося. Так наступний запит стане точним вимірюванням, а не обвинуваченням.
Вкладіть запитане вимірювання в одне речення. Потім припиніть писати.