2015-12-09 7 views
0

Данные были взяты из сети LTE.Как можно найти повторную передачу TCP и потерю пакетов из файла pcap?

  1. Я не знаю, как распознать счетчик повторной передачи TCP одного потока TCP, используя Python.
  2. Мог ли я узнать тип повторной передачи? Это из-за перегруженности или потери пакетов?

Спасибо.

ответ

1

Я сделал это на C, но общие идеи: вам нужно отслеживать порядковые номера TCP (для каждого сеанса TCP есть два потока: один от клиента к серверу, другой - от сервера к клиенту). Это немного сложно.

Для каждого потока у вас есть указатель для отслеживания последовательных порядковых номеров, отправленных до сих пор, и использовать связанный список для отслеживания пар (порядковый номер + длина данных), которые имеют пробел к указателю. Каждый раз, когда вы видите новый поток данных в потоке, вы либо обновляете указатель, либо добавляете в связанный список. Обратите внимание, что после обновления указателя вы должны проверить, закрыт ли связанный список, закрыты ли какие-либо промежутки. Таким образом вы можете передать повторно переданные пакеты данных.

Надеюсь, что это поможет. Удачи.