Как генерировать трафик для лабораторных сценариев [закрыто]

22

Я хотел бы начать исследовать QoS и низкоуровневые оптимизации для таких вещей, как широковещательные / многоадресные рассылки в моей домашней лаборатории. Я искал способы генерировать трафик в и из ящика, но не нашел ничего, что могло бы действительно максимально использовать возможности данного порта, чтобы реально увидеть влияние QoS и т. Д.

Мне бы хотелось иметь возможность наблюдать в режиме реального времени через PRTG или какой-либо другой инструмент мониторинга - линию с максимальными или занятыми линиями перед внедрением QoS, а затем видеть изменения в реальном времени.

Какие инструменты доступны, чтобы помочь с этими задачами?

Алабама
источник
3
Это не очень хороший вопрос, потому что он слишком открытый и имеет слишком много возможностей (вы можете просто отправить по FTP очень большой файл, если хотите). Это не приводит к реальным ответам, а скорее к списку продуктов, которые SE не ищет на своих сайтах. Вопрос должен быть более конкретным, чтобы ограничить доступные варианты.
YLearn

Ответы:

27

Вы можете использовать iperf2 или iperf3, чтобы помочь генерировать некоторый трафик. Есть довольно много опций, которые позволят вам выполнить хорошую классификацию трафика.

Вы также можете проверить scapy - в частности, утилиту для формирования пакетов. Позволяет вам определять значения для каждого поля, чтобы получить более детальное представление о том, как формируется и отправляется трафик.

В моей лаборатории у меня есть две виртуальные машины на противоположных концах физической сети. Я использую оба упомянутых инструмента для отправки трафика между виртуальными машинами, но этот трафик проходит через мою лабораторную топологию маршрутизаторов / коммутаторов / брандмауэров Cisco. Таким образом, у меня может быть надежный поток трафика, который я определяю заранее по лабораторному сценарию.

Mierdin
источник
1
Добавьте WANEM в смесь, чтобы добавить всевозможные дрожания, чтобы увидеть, как работают ваши политики QoS: wanem.sourceforge.net
mellowd
6
К вашему сведению, scapyотлично подходит для тестовых сценариев с низкой пропускной способностью ... однако, его код захвата / чтения пакетов ужасно медленный и AFAIK, вы не получите предупреждения о том, что пакеты были отброшены внутрь scapy. iperfимеет приличную скорость, но если вы хотите по-настоящему высокую пропускную способность (бесплатно), вам нужно использовать модуль ядра Linux, такой какpktgen
Майк Пеннингтон,
Это отличная информация, ребята - большое спасибо за ваши отзывы, очевидно, потребуется время, чтобы применить все это на практике, но я думаю, что у меня есть действительно большой список для работы!
AL
с помощью nutTCP вы можете проверить Alson на QoS
Bulki
8

Я также использовал netperfв некоторых ситуациях. Похоже, лучше работает с UDP-тестами.

aakso
источник
7

Если вы хотите максимально увеличить трафик на линии, такой как порт GigE, посмотрите на netsniff-ngинструментарий или модуль ядра Linux pktgen. Я лично pktgenработал на среднестатистическом обычном сервере и мог с легкостью увеличивать скорость GigE.

Стив
источник
4

Коротко и приятно: используйте tcpdump для записи и убедитесь, что у вас достаточно места для хранения PCAP. Затем используйте tcpreplay ( http://tcpreplay.synfin.net/ ), чтобы воспроизвести его.

Чтобы получить PCAP с реальным трафиком, вы можете вежливо попросить своих коллег разрешить вам записывать весь их трафик за один день всего за час (или до тех пор, пока размер pcap не станет равным X-GB). Если вы на работе, надеюсь, не будет большого возражения против этого, так как это должно быть связано с работой, а ваша компания владеет сетью и т. Д. Предлагать уничтожить все аренды DHCP, подделать mac-адреса и изменить имена хостов. если кто-то не уверен в том, что вы можете увидеть, вы не сможете отследить это позже. Без разницы.

Если ничего другого, получайте реальный трафик из вашей домашней сети, используя tcpdump.

harperville
источник
2

Мы используем Ixia IxChariot для этого использования. Это широко используемый коммерческий продукт, который может сделать то, что вы ищете.

ge0ff73
источник
1

В прошлом я использовал Ixia IxChariot и обнаружил, что единственным преимуществом было то, что он работал на Windows и создавал привлекательные отчеты, которые по сути были бессмысленными, но радовали типы управления.

Лично я бы лучше сохранил свой бюджет и использовал iperf.

вереск
источник
1

Hyenae - это очень гибкий платформенно-независимый генератор сетевых пакетов. Он позволяет воспроизводить несколько сценариев атак MITM, DoS и DDoS, поставляется с кластерным удаленным демоном и интерактивным помощником в атаке.

Есть несколько опций, с которыми вы можете играть, диапазон задержки отправки, размер окна TCP и т. Д. Поддерживается IPv6. Может генерировать 100K + pps.

sdaffa23fdsf
источник
0

Netperf и scapy - хорошие варианты, если вы ищете простое решение с открытым исходным кодом. Если вам нужно более полное, вы можете рассмотреть Agilent N2x и Spirent.

Алиу Диа
источник
0

дополнительная опция - остинато . он обладает многими функциями ixia / spirent и может быть развернут в режиме «менеджер + беспилотник», а также имеет графический интерфейс и интерфейс Python. он также способен воспроизводить PCAP, что удивительно удобно.

На какое-то время cisco упаковала это как часть своего инструментария VIRL.

Стив Ульрих
источник
0

Etherate позволяет вам тестировать QoS до уровня 2 непосредственно через Ethernet.

Используя его, вы можете генерировать трафик Ethernet уровня 2 контролируемым образом, который вы можете измерить.

Вы можете указать длительность потока трафика, размер кадра, биты в секунду / байты в секунду, общее количество байтов для передачи, ethertype, VLAN ID и значение PCP. Вы также можете ACK кадры уровня 2, если хотите проверить потери на уровне 2.

Когда тест завершен, хост Rx отображает количество полученных тестовых кадров, полученных не тестовых кадров, тестовых кадров, полученных по порядку, и тестовых кадров, полученных по порядку (рано или поздно).

Вы должны быть в состоянии получить некоторую полезную информацию от всего этого!

https://github.com/jwbensley/etherate

jwbensley
источник