Назад | Перейти на главную страницу

порядковый номер фильтра tcpdump

Я записал трассировку пакета и хотел бы написать сценарий, который позволит мне изолировать совпадающую пару пакетов подтверждения и последовательности (нет другого способа отфильтровать все другие пакеты), чтобы затем я мог рассчитать время возврата. (RTT) между 2 компьютерами

Проблема, с которой я столкнулся, заключается в том, что я не могу фильтровать 2 пакета на основе их номеров ACK и Sequence.

Это должно быть выполнено с помощью tcpdump, но языки сценариев, такие как awk, подходят

Вы можете использовать proto[x:y] форма фильтрации в tcpdump для этого.

RFC 793 сообщает нам, что порядковый номер начинается с байта 4 заголовка TCP, а номер подтверждения - с байта 8; оба имеют длину 4 байта.

Таким образом, вы можете искать пакеты, у которых есть порядковые номера и номера подтверждения. 123456 как это:

tcpdump -r capturefile tcp[4:4] = 123456 or tcp[8:4] = 123456

Для этого вам нужно использовать абсолютные числа seq / ack, поскольку tcpdump сопоставляет значения с необработанными данными в пакете. Использовать tcpdump -Sr filename для отображения файла захвата с абсолютными порядковыми номерами.