Следовать потоку tcp — Откуда берется поле «Индекс потока»?

#packet #wireshark #packet-capture

#пакет #wireshark #захват пакета

Вопрос:

В Wireshark есть такая функция, которая называется «отслеживать поток tcp», в пункте меню «Анализировать».

Когда я его использую, генерируется фильтр захвата экрана, что-то вроде:

tcp.stream eq 1

Откуда берется этот индекс?

Я не могу найти ни одного поля в пакете, которое его содержит…

Ответ №1:

индекс потока представляет собой внутреннее сопоставление Wireshark с: [IP-адрес A, TCP-порт A, IP-адрес B, TCP-порт B]

Все пакеты для одного и того же значения tcp.stream должны иметь одинаковые значения для этих полей (хотя src / dest будут переключены для пакетов A-> B и B-> A)

смотрите вкладку Статистика / Разговоры / TCP в Wireshark, чтобы показать сводку этих потоков

Ответ №2:

Индексы потоков являются внутренними для Wireshark. Он просто использует число для уникальной идентификации потока TCP.

Ответ №3:

Помимо наличия одинаковых IP-адресов источника и назначения и портов, пакеты в потоке соответствуют целой последовательности связи «открыть-передать-закрыть». Итак, я предполагаю, что Wireshark внутренне создает новый идентификатор потока при поступлении синхронизированного пакета и отслеживает все пакеты в этом диалоге, пока оба конца не завершат его (флаги FIN / RST).

Фильтрация пакетов с помощью tcp.stream filter очень полезна для анализа конкретной последовательности.