Как рассчитать коэффициент потери пакетов с помощью scapy?

Я пытаюсь рассчитать коэффициент потери пакетов с YouTube при воспроизведении видео.

Я обнюхиваю пакеты один за другим с помощью Scapy на eth0 и фильтрую пакеты TCP с заголовком IP.

Чтобы рассчитать коэффициент потери пакетов, у меня должно быть количество полученных пакетов и количество отправленных пакетов (или исключенных пакетов).

Я легко могу подсчитать количество полученных пакетов, но у меня проблема с отправленными пакетами с youtube.


person nima    schedule 27.08.2017    source источник


Ответы (3)


Я рекомендую вам попробовать это:

Подготовьте моделируемый трафик с низким, средним и высоким трафиком. Sicen вы будете генерировать трафик, о котором вы будете знать заранее, общее количество пакетов, которые будут отправлены.

1) Сначала захватите весь трафик с помощью tcpdump.

2) Второй Захват всего трафика с помощью scapy (избегайте сохранения пакетов на диск с помощью python).

Вы увидите следующее:

  • Низкий трафик 25% потерь пакетов с scapy.
  • Средняя потеря трафика 67% пакетов с scapy.
  • Высокий трафик 89%! потеря пакета с scape.

Источник данных: Компьютерная безопасность - ESORICS 2011: 16-й Европейский симпозиум по исследованиям компьютерной безопасности.

Я попробовал себя и получил такие же результаты. Без libpcap потеря пакетов scapy составила 96%.

Remeber tcpdump - почти идеальный случай для сравнения.

person llazzaro    schedule 08.11.2017
comment
Привет! Спасибо за точный ответ, но я попробую по-другому. Поскольку у меня не было доступа к пакету, который они отправили из источника, я должен приблизительно оценить скорость потери пакетов. Затем, после повторного поиска в Google, я нашел статью от Cisco, которая мне помогла. Это ссылка на эту статью: ссылка - person nima; 20.11.2017

Это немного сложнее, вам нужно посмотреть на повторные передачи (пакеты, не подтвержденные в течение их лимита времени ожидания).

Вы не можете видеть пакеты с другой стороны, которые были потеряны до того, как достигли вас. Что вы можете сделать, так это посмотреть на порядковый номер TCP и посмотреть, есть ли какие-либо пробелы, в которых вы получаете пакеты не по порядку.

Это может быть признаком потери пакета, но не является гарантией. Возможно, вам придется поэкспериментировать с ограничением по времени допустимого промежутка между двумя пакетами, прежде чем засчитывать его как повторную передачу, а не просто прибытие вне очереди по другим причинам.

Я рекомендую прочитать как можно больше о протоколе TCP, чтобы понять детали: https://en.wikipedia.org/wiki/Transmission_Control_Protocol

person SpacemanSpiff    schedule 30.08.2017
comment
Но для этого проекта мне нужны достоверные данные. - person nima; 04.09.2017

После повторного поиска в Google я нашел статью от Cisco, в которой объяснялось, как приблизительно рассчитать основную частоту потери пакетов в зависимости от пропускной способности.

Это ссылка, которая мне помогает. Надеюсь, она поможет и вам.

Пропускная способность, количество пакетов в секунду и другое Показатели производительности сети

Спасибо.

person nima    schedule 20.11.2017