Генератор трафика web-приложений и кибератак » Spirent Communications (RUS)
Spirent CyberFlood
[Спайрент Сайберфлад ]
Программно-аппаратное решение для нагрузочного тестирования контент-ориентированных сетей и киберустойчивости информационных систем в условиях лаборатории
Области применения CyberFlood:
- лабораторное тестирование (нагрузочные, функциональные тесты, тесты киберустойчивости, создание нормированной нагрузки, 100% воспроизводимость тестов, длительные непрерывные тесты, возможность интеграции в DevOps, результаты в реальном времени). Тестирование выполняется с полным отключением тестируемого устройства от сетей передачи данных.
- эмуляция сессий большого количества пользователей, их сетевой активности с максимальной реалистичностью
- эмуляция серверов приложений и огромного количества интернет-сервисов
- многопользовательская среда
- гибкая интеграция через RETSful API
- интеграция с рекомендациями и методиками
Типичные объекты для тестирования: межсетевые экраны, NGFW, WAF, балансировщики трафика прикладного уровня, IDS/IPS, прикладные серверы и т. д.
Установка и развёртывание:
- на аппаратные платформы производства Spirent для достижения гарантированной производительности
- интерфейсы Ethernet от 100 Мбит/с до n*100Гбит/с
- на серверные платформы (HPE, Lenovo, SuperMicro и проч.) с архитектурой x86 для тестирования виртуализованных сетевых функций (VNF) и внешних физических устройств. Установка выполняется в виде виртуальных машин поверх гипервизора и виртуального коммутатора.
- В облачных системах AWS, Microsoft Azure или Google Cloud
Генерация трафика:
- прикладных протоколов (http, ftp, tls, pop и многих других)
- web-приложений – Youtube, Vkontakte, Yandex, Facebook, Skype и тысяч других
- реальных сценариев поведения пользователей в сети (пример: пользователь логинится в VK ->смотрит видео в VK -> печатает пост -> выходит из VK)
- актуальных кибератак (malware, zero-day, массированный и протокольный DDoS, эксплоиты, эмуляция зараженных хостов и многое другое)
- одновременная генерация легитимного и вредоносного трафика
- стрессовое тестирование на прикладном уровне (пропускная способность, настройка политик, QoS)
- постоянное обновление базы сценариев прикладного трафика и атак
- генерация географически окрашенного трафика (актуальная база geo IP) атак
- стрессовое воспроизведение трафика, записанного пользователем
- полная и максимально реалистичная реализация транспорта TCP/IP UDP
Общий принцип работы генератора трафика
Несмотря на разнообразие тестов и методик, которые заложены в генератор трафика CyberFlood, общий подход тестирования представлен на рисунке:
В ряде тестов объектом тестирования может выступать реальный сервер. Профиль трафика генерация настраивается пользователем в зависимости от целевых задач:
Протоколы, приложения и кибератаки выбираются из специальных библиотек в интерфейсе пользователя. Библиотеки поддерживаются в актуальном состоянии и периодически обновляются. В свою очередь, отдельные протоколы могут иметь индивидуальные настройки.
GUI пользователя: выбор вредоносов из библиотеки для добавления в тестовый трафик для лабораторного тестирования периметра информационной защиты
Ключевые возможности генерации трафика прикладного уровня с помощью Spirent CyberFlood
Тестирование пропускной способности
Генерация смешанного трафика приложений с высокой интенсивностью для тестирования пропускной способности сетевых контент-ориентированных устройств
Оценка кибербезопасности
Эмуляция и исполнение расширенного перечня из десятков и тысяч вредоносных атак и кода различного типа. Включая смешанные атаки и генерацию смешанного трафика (вредоносный + полезный)
Идентификация приложений
Генерация больших объемов трафика современных мобильных приложений, облачных программ, и паттернов трафика безопасности для оценки работы сетевых устройств анализирующих проходящий трафик
База образцов трафика TestCloud
Облачная библиотека образцов прикладного трафика, к которой подключается CyberFlood для генерации трафика тысяч современных приложений и кибератак. База данных постоянно обновляется, таким образом позволяя генерировать самый актуальный трафик, который существует в современных сетях передачи данных
Воспроизведение сетевого трафика
С помощью CyberFlood вы можете импортировать свой собственный сетевой трафик, модифицировать, масштабировать и запускать его для последующей генерации с высокой интенсивностью
Высокая интенсивность генерации прикладного трафика
Высокая пропускная способность генерации через линейные интерфейсы 10G Ethernet. Использование технологии Extreme Scale and Performance (ESP) позволяет генерировать прикладной трафик и кибератаки с максимально возможной интенсивностью по параметру “количество соединений в секунду” для стрессового тестирования сетевых устройств операторского класса
Fuzzing
Встроенный Фаззинг-плеер создаёт миллионы тестовых итераций и выполняет сценарии мутации различных служб и протоколов для поиска уязвимостей и бэкдоров в сетевом оборудовании и проверки надежности реализованных протоколов
Длительные испытания
Генерация трафика в течение длительного времени для долговременного испытания работы телекоммуникационного оборудования
Методологии NetSecOPEN уже в CyberFlood
Миссия международного консорциума NetSecOPEN заключается в создании четко определенных, открытых и прозрачных стандартов, отражающих потребности реального мира в области безопасности. Усилия по разработке стандартов открыты для всех, кто заинтересован в их результатах.
Пользователь CyberFlood уже имеет возможность использовать встроенные методики и преднастроенные тесты для нагрузочного тестирования и оценки кибербезопасности по рекомендациям NetSecOPEN
Автоматизация через RESTful API
для интеграции CyberFlood в авоматизированные системы непрерывного тестирования RESTful уже входит в состав базового комплекта поставки вместе с первоклассной документацией и примерами
Сценарии взаимодействия пользователей с сервисами
Опция Advanced Mixed Traffic позволяет использовать списки действий пользователей (Action lists). Список действий представляет собой детальный сценарий взаимодействия пользователя с сетевыми сервисами по протоколам HTTP, HTTPS, SMTP, POP3, IMAP4, HLS, DNS, и FTP (дополнительная поддержка протокола будет будет добавлено в будущих выпусках). Применение списков действия позволяет максимально реалистично воспроизводить поведение пользователей при взаимодействии с сетевыми сервисами. Кроме того, пользователи могут смешивать трафик, ориентированный на список действий, с базой данных сценариев CyberFlood TestCloud, создавая комплексные реальные условия нагрузки трафика.
Возможность настройки списков действий позволяет проводить нагрузочное и стрессовое тестирование как реальных прикладных серверов так и промежуточных устройств, когда CyberFlood эмулирует клиентов и серверы приложений.
С помощью Advanced Mixed Traffic можно выполнять тестирование веб-приложений, приложения ERP и CRM с расширенными возможностями: поддержкой файлов cookie, идентификаторов сеанса, динамических ссылок, автоматического перенаправления, дополнительного заголовка, эмуляции времени пребывания пользователя на странице и назначения переменных. Advanced Mixed Traffic может параметризовать переменные, позволяя использовать различные операнды приложения для строк URL, аутентификации и многих других параметров протокола, для динамической оценки приложений.
Интерфейс пользователя CyberFlood и новые возможности
Для генерации прикладного трафика и кибератак в CyberFlood был использован совершенно новый подход к организации интерфейса пользователя. Применяется тонкий клиент (web-браузер) с технологией ‘drag and drop’ и принципиально новой логикой работы, ориентированной на встроенные методологии тестирования, постоянно-обновляемые библиотеки прикладного трафика и базы данных кибератак
Платформы для установки CyberFlood
Платформы, на которых разворачивается CyberFlood, подключаются к тестируемой системе и создают необходимую нагрузку трафика. Подключение выполняется по каналам со скоростями до 100 Гбит/с. В зависимости от платформы, примерные показатели интенсивности генерации прикладного трафика составляют:
- более 8,5 млн HTTP-соединений в секунду
- более 170 миллионов параллельных соединений на устройство
Spirent C1
Сверхпортативный прибор для тестирования на скоростях до 10GbE
Spirent C100
Система нагрузочного тестирования на скоростях до 100GbE с высокой производительностью генерации.
Spirent CF20
Одноюнитовый прибор специально разработанный под CyberFlood и Avalanche и поддержкой линков от 100 Мегабит/с до 100 Гигабит/с
Spirent C200
Система нагрузочного с четырьмя интерфейсами QSFP28 и поддержкой мультискоростей до 100 Гбит/с на порт. Максимальная производительность. Аппаратное ускорение трафика TLS
CyberFlood Virtual
Виртуальный генератор трафика для установки на сервере в виде виртуальных машин, или развёртывания в облачных системах
мониторинг киберустойчивости
Постоянная оценка работы систем защиты информационных объектов
Специальная версия продукта CyberFlood Data Breach Assessment (DBA) предназначена для постоянного тестирования реально работающих систем защиты информационных объектов. CyberFlood DBA представляет собой систему распределенных генераторов кибератак, которые устанавливаются в различных точках сети и выполняют целевые тесты друг на друга. Цель перманентного кибертестирования заключается в проверке работы, настроек и надёжности систем предотвращения и детектирования атак.
запускаем нагрузочное тестирование сетевых устройств / Хабр
При разработке очередного роутера мы тестировали производительность сети с помощью полезной open-source-штуки — генератора трафика Cisco TRex. Что это за инструмент? Как им пользоваться? И чем он может пригодится инженерам-разработчикам? Под катом — ответы на эти вопросы.
1. Что такое Cisco TRex
Это программный генератор трафика с открытым исходным кодом, работает на стандартных процессорах Intel на базе DPDK, поддерживает режимы с контролем состояния потока и без (stateful / stateless modes). Сравнительно простой и полностью масштабируемый.
Англоязычная документация для этого инструмента доступна на сайте.
Trex позволяет генерировать разные типы трафика и анализировать данные при их получении. Поддерживается работа на уровне MAC и IP. Можно задавать размер пакетов и их количество, контролировать скорость передачи данных.
Работа с генератором организована в среде Linux.
Одно из важных отличий генератора Trex — использование технологии DPDK, которая позволяет обойти «узкие места» в производительности сетевого стека Linux. DPDK или Data Plane Development Kit — это целый набор библиотек и драйверов для быстрой обработки пакетов, который позволяет исключить сетевой стек Linux из процесса обработки пакетов и взаимодействовать с сетевым устройством напрямую.
DPDK превращает процессор общего назначения в сервер пересылки пакетов. Благодаря этой трансформации отпадает необходимость в дорогостоящих коммутаторах и маршрутизаторах. Однако DPDK накладывает ограничения на использование конкретных сетевых адаптеров, список поддерживаемого железа указан на на ссылке — тут самая популярная платформа от Intel, т.е. обеспечена поддержка железа, которое работает с linux-драйверами e1000, ixgbe, i40e, ice, fm10k, ipn3ke, ifc, igc.
Также важно понимать, что для работы TRex-сервера на скоростях 10 Гбит/с необходим многоядерный процессор — от 4 ядер и выше, желательно CPU семейства Intel c поддержкой одновременной многопоточности (hyper-threading).
2. Как получить и попробовать TRex
1) Загружаем архив с сервера trex-tgn.cisco.com:trex-tgn.cisco.com/trex/release/
Распаковываем архив в домашней директории пользователя «/home/user», где user — имя пользователя.
[bash]>wget --no-cache https://trex-tgn. cisco.com/trex/release/latest [bash]>tar -xzvf latest
2) Настраиваем интерфейсы отправки и приема данных
Выполним настройку с помощью утилиты «dpdk_setup_ports.py», которая идет в архиве с TRex. Конфигурировать сетевые интерфейсы, которые использует TRex, можно на уровне MAC или IP. Для старта необходимо запустить данную утилиту с ключом интерактивной настройки «sudo ./dpdk_setup_ports.py –i».
Первым шагом откажемся от конфигурации на MAC-уровне (Do you want to use MAC based config? (y/N) n).
Вторым шагом необходимо выбрать пару сетевых интерфейсов, с которыми будем работать, в нашем случае сетевая карта Intel X710 работает с 4 сетевыми интерфейсами, будем использовать 1-е и 4-е гнездо сетевой карты.
Третьим шагом система предложит автоматически создать замкнутую конфигурацию – когда данные уходят с порта 1 и приходят в порт 2 (и обратно), все на одном ПК. Нам пришлось отказаться от данной схемы и настроить схему маршрутизации на 2 ПК.
Четвертым и пятым шагом даем согласие на сохранение конфигурации в файл /etc/trex_cfg.yaml.
Для примера рассмотрим конфигурацию на IP-уровне для следующей схемы подключения:
Файл конфигурации находится тут: «/etc/trex_cfg.yaml». Простой конфигурационный файл показан ниже для сетевой карты с 2 портами и CPU, поддерживающем 8 потоков:
### Config file generated by dpdk_setup_ports.py ### - version: 2 interfaces: ['01:00.0', '01:00.3'] port_info: - ip: 192.168.253.106 default_gw: 192.168.253.107 - ip: 192.168.254.106 default_gw: 192.168.254.107 platform: master_thread_id: 0 latency_thread_id: 1 dual_if: - socket: 0 threads: [2,3,4,5,6,7]
В конфигурации:
- ’01:00.0′, ’01:00.3′ — наименование Eth-интерфейсов в используемой системе Linux.
- ip: 192.168.253.106 — адрес порта ПК Server TRex, с которого генерируется трафик.
- default_gw: 192. 168.253.107 — адрес 1 порта ПК DUT (Device under test).
- ip: 192.168.254.106 — адрес порта ПК Server TRex, с которого возвращается трафик после прохождения через правила QOS.
- default_gw: 192.168.253.107 — адрес 2 порта ПК DUT.
Внимание! Система TRex запрещает использование той же подсети при генерации потоков, что используются системой, для этого при генерации пакетов используются подсети 16.0.0.0 и 48.0.0.0.
3) Настраиваем интерфейсы на удаленной машине
Необходимо настроить пересылку (forwarding) и маршруты, чтобы система (DUT), через которую будем пропускать трафик, знала, откуда принимать и куда отправлять пакеты.
Настраиваем на ПК DUT правила маршрутизации потоков:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward sudo route add -net 16.0.0.0 netmask 255.0.0.0 gw 192.168.253.106 sudo route add -net 48.0.0.0 netmask 255.0.0.0 gw 192.168.254.106
4) Запускаем TRex-сервер в режиме astf:
cd v2. XX sudo ./t-rex-64 -i --astf
При успешном запуске TRex-сервера, увидим информацию о Ethernet-портах, занятых под тестирование:
The ports are bound/configured. port : 0 ------------ link : link : Link Up - speed 10000 Mbps - full-duplex promiscuous : 0 port : 1 ------------ link : link : Link Up - speed 10000 Mbps - full-duplex promiscuous : 0 number of ports : 2 max cores for 2 ports : 1 tx queues per port : 3
5) Запускаем консоль TRex
С помощью консоли в отдельном окне запускаем генерацию потока из готовых примеров (папка с примерами astf есть в архиве к TRex):
cd v2.XX ./trex-console start -f astf/http_simple.py -m 1 start (options): -a (all ports) -port 1 2 3 (ports 1 2 3) -d duration (-d 100 -d 10m -d 1h) -m stream strength (-m 1 -m 1gb -m 40%) -f load from disk the streams file
При успешном запуске увидим статистику по прохождению трафика в консоли TRex-сервера:
Global stats enabled Cpu Utilization : 0. 3 % 0.6 Gb/core Platform_factor : 1.0 Total-Tx : 759.81 Kbps Total-Rx : 759.81 Kbps Total-PPS : 82.81 pps Total-CPS : 2.69 cps Expected-PPS : 0.00 pps Expected-CPS : 0.00 cps Expected-L7-BPS : 0.00 bps Active-flows : 2 Clients : 0 Socket-util : 0.0000 % Open-flows : 641
3. Автоматизация разработки и тестирования с помощью TRex
В процессе разработки сетевого роутера мы написали много тестов для TRex, соответственно встал вопрос по их прогону в автоматическом режиме с помощью python. Как мы это организовали:
Запустили TRex-сервер в режиме stl:
cd v2.XX sudo ./t-rex-64 -i --stl
Задали переменную окружения для python, так как TRex работает в связке с python.
export PYTHONPATH=/home/!!!user!!!/v2.XX/automation/trex_control_plane/interactive, где «!!!user!!!» — имя пользователя и домашняя директория, v2. XX — версия ПО TRex, загруженная и распакованная в данную папку.
Запустили генератор трафика с помощью python, листинг примера конфигурации приведен ниже.
python example_test_2bidirectstream.py
Ожидаемый результат:
Transmit: 10000.24576MByte/s Receive: 10000.272384MByte/s Stream 1 TX: 4487179200 Bit/s RX: 4487179200 Bit/s Stream 2 TX: 2492873600 Bit/s RX: 2492873600 Bit/s Stream 3 TX: 1994294400 Bit/s RX: 1994294400 Bit/s Stream 4 TX: 997147200 Bit/s RX: 997147200 Bit/s
Разберем данный пример:
c = STLClient(server = ‘127.0.0.1’)
Создаем подключение к TRex-серверу, в данном случае подключение создается к той же машине, где и сервер.
- «base_pkt_dir_a, base_pkt_dir_b, base_pkt_dir_c, base_pkt_dir_d» — шаблоны пакетов, в которых указаны адреса источника и получателя, и порты источника и получателя. В данном примере создается 4 потока, 2 в одну сторону и 2 в обратную.
- «s1, s2, s3, s4» — у класса STLStream запрашиваем параметры генерируемого потока, такие как ID потока и bitrate, в нашем случае ID1=4. 5 Гбит/с, ID2=2.5 Гбит/с, ID3=2 Гбит/с, ID4=1 Гбит/с.
Листинг файла конфигурации потоков example_test_2bidirectstream.py
# get TRex APIs from trex_stl_lib.api import * c = STLClient(server = '127.0.0.1') c.connect() try: # create a base packet with scapy base_pkt_dir_a = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=5001,sport=50001) base_pkt_dir_b = Ether()/IP(src="48.0.0.1",dst="16.0.0.1")/UDP(dport=50001,sport=5001) base_pkt_dir_c = Ether()/IP(src="16.0.0.2",dst="48.0.0.2")/UDP(dport=5002,sport=50002) base_pkt_dir_d = Ether()/IP(src="48.0.0.2",dst="16.0.0.2")/UDP(dport=50002,sport=5002) # pps : float # Packets per second # # bps_L1 : float # Bits per second L1 (with IPG) # # bps_L2 : float # Bits per second L2 (Ethernet-FCS) packet_size = 1400 def pad(base_pkt): pad = (packet_size - len(base_pkt)) * 'x' return pad s1 = STLStream(packet=STLPktBuilder(base_pkt_dir_a/pad(base_pkt_dir_a)), mode=STLTXCont(bps_L2=4500000000), flow_stats=STLFlowStats(pg_id=1)) s2 = STLStream(packet=STLPktBuilder(base_pkt_dir_b/pad(base_pkt_dir_b)), mode=STLTXCont(bps_L2=2500000000), flow_stats=STLFlowStats(pg_id=2)) s3 = STLStream(packet=STLPktBuilder(base_pkt_dir_c/pad(base_pkt_dir_c)), mode=STLTXCont(bps_L2=2000000000), flow_stats=STLFlowStats(pg_id=3)) s4 = STLStream(packet=STLPktBuilder(base_pkt_dir_d/pad(base_pkt_dir_d)), mode=STLTXCont(bps_L2=1000000000), flow_stats=STLFlowStats(pg_id=4)) my_ports = [0, 1] c. reset(ports = [my_ports[0], my_ports[1]]) # add the streams c.add_streams(s1, ports = my_ports[0]) c.add_streams(s2, ports = my_ports[1]) c.add_streams(s3, ports = my_ports[0]) c.add_streams(s4, ports = my_ports[1]) # start traffic with limit of 10 seconds (otherwise it will continue forever) # bi direction testduration = 10 c.start(ports=[my_ports[0], my_ports[1]], duration=testduration) # hold until traffic ends c.wait_on_traffic() # check out the stats stats = c.get_stats() # get global stats totalstats = stats['global'] totaltx = round(totalstats.get('tx_bps')) totalrx = round(totalstats.get('rx_bps')) print('Transmit: {}MByte/s Receive: {}MByte/s'.format((totaltx / 1000000), (totalrx / 1000000))) c.clear_stats(ports = [my_ports[0], my_ports[1]]) # get flow stats totalstats = stats['flow_stats'] stream1 = totalstats[1] stream2 = totalstats[2] stream3 = totalstats[3] stream4 = totalstats[4] totaltx_1 = stream1. get('tx_pkts') totalrx_1 = stream1.get('rx_pkts') print('Stream 1 TX: {} Bit/s RX: {} Bit/s'.format((totaltx_1['total'] / testduration * packet_size * 8), (totalrx_1['total'] / testduration * packet_size * 8))) totaltx_2 = stream2.get('tx_pkts') totalrx_2 = stream2.get('rx_pkts') print('Stream 2 TX: {} Bit/s RX: {} Bit/s'.format((totaltx_2['total'] / testduration * packet_size * 8), (totalrx_2['total'] / testduration * packet_size * 8))) totaltx_3 = stream3.get('tx_pkts') totalrx_3 = stream3.get('rx_pkts') print('Stream 3 TX: {} Bit/s RX: {} Bit/s'.format((totaltx_3['total'] / testduration * packet_size * 8), (totalrx_3['total'] / testduration * packet_size * 8))) totaltx_4 = stream4.get('tx_pkts') totalrx_4 = stream4.get('rx_pkts') print('Stream 4 TX: {} Bit/s RX: {} Bit/s'. format((totaltx_4['total'] / testduration * packet_size * 8), (totalrx_4['total'] / testduration * packet_size * 8))) except STLError as e: print(e) finally: c.disconnect()
Заключение
При подготовке этого руководства для Хабра мы запустили и проверили работу системы DUT с 4 потоками, собрали информацию по потокам и глобальную статистику.
Описанная выше операция запускается с помощью python, значит с помощью TRex можно автоматизировать тестирование и отладку сетевых устройств и программных продуктов — в цикле или при последовательном запуске тестов на python.
Так чем же TRex компании Cisco лучше или хуже других аналогичных генераторов трафика? Например, популярной клиент-серверной программы iperf? В сценарии использования TRex мы видим описание настройки и работы с потоками. Оба средства тестирования и отладки хороши: iperf — для быстрой проверки функциональности на ходу, а TRex отлично справляется с автоматизацией тестирования и разработки сложных сетевых устройств и систем, где важна возможность настройки многопоточных стримов, чтобы каждый поток конфигурировать под конкретную задачу и анализировать результаты на выходе.
TRex позволяет создавать шаблоны практически любого вида трафика и усиливать их для генерации крупномасштабных DDoS-атак, в том числе TCP-SYN, UDP и ICMP-потоков. Возможность генерации массивных потоков трафика позволяет моделировать атаки от различных клиентов на множество целевых серверов.
Так что если вы еще не пробовали этот инструмент — можно взять на заметку. А если пробовали — поделитесь своими примерами и отзывами в комментариях. Интересно узнать, что о TRex думают и как используют коллеги-инженеры.
6 Лучшие инструменты для стресс-тестирования генератора сетевого трафика и симулятора
Сравнительный анализ среды новой сети является важной частью обеспечения ее успеха при запуске. Это включает в себя стресс-тестирование и генерацию трафика в существующих сетях, что поможет вам определить любые потенциально уязвимые или уязвимые области, например обрывы соединения и потерю пакетов. Как мы знаем, сетевой трафик имеет решающее значение для успеха бизнеса, поскольку он определяет, как передаются данные и насколько эффективно взаимодействуют ваши приложения.
Сегодня для конечных пользователей онлайн скорость и эффективность — это все. Клиент вряд ли задержится, если у него будет значительное отставание или если страница не отвечает. В этот процветающий цифровой век конечные пользователи получают информацию и услуги на кончиках своих пальцев с быстрым доступом. Если им не удастся быстро получить от вас то, что они хотят, они, скорее всего, будут искать другую организацию для более эффективного удовлетворения своих потребностей.
С помощью генератора сетевого трафика или симулятора сетевого трафика вы можете имитировать реальный сетевой трафик. Эти инструменты имитируют стресс или нагрузку, чтобы определить, сколько может выдержать сеть. Таким образом, они дают вам четкое представление о том, с чем может справиться ваша сеть, где находятся проблемные области и в какой момент сеть становится перегруженной.
Перейти к списку лучших инструментов>>>>
Хотя это важно для любого бизнеса, это особенно важно для предприятий с многочисленными филиалами, которым необходимо поддерживать постоянную связь через глобальную сеть (WAN). Если ссылки не выдерживают нагрузки, эти системы могут полностью перестать работать, что сделает повседневную работу чрезвычайно сложной. Внедрив насыщение сети или стресс-тест, вы можете быстро выявить любые слабые места, чтобы защитить свою повседневную деятельность от сбоев или простоев.
В этом руководстве я оценил свои любимые инструменты для генерации сетевого трафика, при этом SolarWinds ® WAN Killer Network Traffic Generator находится на первом месте. Многофункциональный, продуманный и очень удобный инструмент WAN Killer является частью набора инструментов инженера SolarWinds (ETS), набора утилит, работающих вместе, чтобы предоставить все, что нужно сетевому администратору.
Прежде чем перейти к выбору лучшего программного обеспечения для генераторов, я кратко расскажу, как работают генераторы трафика и инструменты стресс-тестирования.
Основы генераторов трафика
Генераторы трафика — это способ ввода трафика в сеть для использования другими устройствами.
Генератор трафика должен выглядеть как устройство в сети, поэтому он может нацеливаться на устройства, получающие трафик. Это означает, что он будет иметь физический адрес, как правило, более высокого уровня.
При реализации генератор трафика подключается к сети через тот же интерфейс, что и другие устройства, для установления совершенно новых пакетов. Некоторым генераторам трафика также может потребоваться реагировать на трафик от других устройств, например, когда им необходимо установить протокол разрешения адресов (ARP) в IP-сети или TCP-соединении.
По сути, генератор трафика — это инструмент, предназначенный для оценки производительности тестируемых устройств или тестируемых систем. Генераторы трафика отправляют RAW-пакеты через определенные порты и собирают следующие данные: значения джиттера и задержки, потерянные пакеты, скорости TX/RX и неупорядоченные пакеты. Генератор трафика можно использовать аналогично утилите проверки пропускной способности, а также можно использовать для создания пакетов, направляемых генератору пакетов.
Основы инструментов стресс-тестирования симулятора
Есть некоторое сходство между генераторами трафика и инструментами стресс-тестирования симулятора. Целью инструмента стресс-тестирования симулятора является проверка производительности сети. В сочетании с генератором сетевого трафика он может дать вам представление о том, как сеть будет справляться с различными уровнями стресса и нагрузки. Инструмент стресс-тестирования также можно использовать для выявления таких проблем, как медленная загрузка или отсутствие отклика веб-страниц.
Существует три основных типа имитации нагрузки: на основе HTTP/S, на основе реального браузера и без головы.
- Тесты на основе HTTP/S, которые были популярны ранее в эпоху цифровых технологий, включают в себя выполнение тестовым драйвером служебных запросов и анализ ответов. Этот тип теста игнорирует сценарии на стороне клиента, связанные с современными приложениями Web 2.0. В целом тесты HTTP/S уже не так полезны, потому что они не могут справиться со сложными вариантами использования на уровне протокола.
- Headless Моделирование нагрузки на основе браузера было разработано в ответ на развитие технологий Web 2.0. Первые безголовые браузеры включали HtmlUnit, SlimerJS и PhantomJS. Безголовые браузеры обычно создаются на основе WebKit, который является движком Chrome и Safari. Есть несколько преимуществ, связанных с безголовыми браузерами, в том числе тот факт, что они работают быстро, не требуя тяжелого графического интерфейса. Они также предлагают реалистичную симуляцию пользователя, что является большим преимуществом.
- Реальное моделирование загрузки на основе браузера учитывает тот факт, что приложения Web 2.0, как правило, переполнены JavaScript, Flash, CSS и AJAX. Если у вас нет полнофункционального браузера, невозможно отследить фактическое сквозное время отклика для всей веб-страницы. Этот тип нагрузочного тестирования позволяет проверить функциональность сайта и скорость, которую получает конечный пользователь. Стандартный инструмент для тестирования производительности на основе реального браузера собирает время загрузки для CSS, изображений, JavaScript и многого другого.
Лучшие инструменты для генерации трафика
Ниже приведены мои рейтинги лучших генераторов сетевого трафика и программ для стресс-тестирования сети, бесплатных и платных. Я включил инструменты, соответствующие целому ряду организационных потребностей, чтобы помочь вам найти тот, который подходит именно вам.
- Генератор сетевого трафика SolarWinds WAN Killer
WAN Killer входит в комплект SolarWinds Engineer’s Toolset, пакет сетевого программного обеспечения, содержащий более 60 утилит. Они были разработаны для охвата всего: от обнаружения и настройки сети до мониторинга и устранения неполадок. В дополнение к WAN Killer, SolarWinds ETS включает сканер портов, инструмент проверки SNMP, сопоставитель портов коммутатора, браузер IP-сети, обнаружение MAC-адресов и проверку связи.
WAN Killer был разработан, чтобы помочь пользователям идентифицировать и нацеливать определенный сетевой трафик. Он делает это, способствуя генерации вашего собственного трафика. Вы можете определить конкретный IP-адрес или имя хоста, которые инструмент будет намеренно бомбардировать трафиком. Этот процесс даст вам представление о производительности вашей сети. Вы даже можете определить размер и процент пропускной способности канала, а затем создать данные для своих тестов WAN.
Этот инструмент может многим понравиться. Вы можете заранее протестировать сеть и балансировку нагрузки, отслеживая пакеты UDP/TCP, что даст вам представление о том, как ваша сеть работает в определенных условиях нагрузки трафика, и вы можете изучать сетевые действия без использования реального трафика. Инструмент использует безрисковый подход к интерактивному тестированию соединений и редактированию IP-трафика, тем самым создавая указанную вами сетевую нагрузку. WAN Killer — это гибкий инструмент, позволяющий настраивать номера портов, размер пакетов и процент полосы пропускания, а также изменять параметры точки кода дифференцированных услуг и явного уведомления о перегрузке.
После установки набора инструментов инженера вы можете получить доступ к WAN Killer, посетив папку «Диагностика». Процесс запуска быстрый и простой. Поскольку WAN Killer поддерживает настройки для всего приложения, вам не нужно будет изменять настройки каждый раз, когда генерируется сетевой трафик.
Огромным преимуществом набора инструментов инженера является количество инструментов, которые он предоставляет. В сочетании эти инструменты позволяют эффективно управлять всей сетью, устранять неполадки и отслеживать ее. Каждый из них легко доступен и содержится в одной настольной консоли. В этом комплекте есть несколько действительно впечатляющих инструментов. Помимо WAN Killer, мне особенно нравятся Memory Monitor, CPU Monitor, Interface Monitor, Response Time Monitor и TraceRoute.
Набор инструментов инженера содержит инструмент автоматического обнаружения, который найдет все ваши подключенные сетевые устройства и создаст карту топологии сети. Он также может отслеживать доступность устройств, использование памяти, загрузку ЦП, производительность сетевых путей, задержку сетевых путей и статистику интерфейса. Это очень удобно и динамично. Мне особенно нравятся карты топологии и другие графические представления, включая круговые диаграммы и линейные графики.
Если вы хотите попробовать WAN Killer Traffic Generator, загрузите полнофункциональную 14-дневную бесплатную пробную версию Engineer’s Toolset.
- Отправитель пакета
Packet Sender — это бесплатное приложение с открытым исходным кодом, без рекламы и пакетов. Он способен отправлять и получать TCP, UDP и SSL на выбранных вами портах, что позволяет проводить индивидуальное тестирование. Серверы и клиенты могут работать одновременно, поэтому вы можете проводить оптимизированное и бесперебойное тестирование, а все данные могут быть определены как в ASCII, так и в шестнадцатеричном формате. Это кроссплатформенный инструмент для Windows, Mac и Linux.
Packet Sender использует командную строку и графический интерфейс, что обеспечивает большую гибкость с точки зрения используемого вами интерфейса. Интерфейс командной строки присутствует во всех версиях приложения, поэтому у вас будет доступ, когда вам это нужно.
Packet Sender можно использовать для целого ряда действий, включая автоматизацию тестирования с помощью инструмента командной строки и горячих клавиш. Он также позволяет тестировать сетевые API с помощью встроенных клиентов UDP, TCP и SSL и анализировать вредоносное ПО с помощью серверов UDP, TCP и SSL. Можно протестировать даже брандмауэры и возможности подключения. Инструмент достигает этого, заставляя отправителей пакетов общаться друг с другом.
Предоставляя клиентам портативные отправители пакетов с предопределенными настройками и пакетами, Packet Sender также является средством поддержки технологий. Кроме того, он позволяет проводить исследования безопасности, отправляя SSL и затем анализируя полученный журнал трафика.
Packet Sender, доступный на GitHub, — это отличный способ управления сетевыми устройствами с минимальным ручным вводом и трудозатратами. Утилита генератора сети является эффективным средством стресс-тестирования устройств, и вы можете использовать облачную службу для совместного использования, сохранения и совместной работы. Мне нравится облако Packet Sender за то, что оно облегчает совместную работу. С его помощью вы даже можете публично отображать и распространять пакеты для совместной работы, обучения и использования конечными пользователями через URL-адрес.
Packet Sender предлагает мобильные приложения для iOS и Android. Их можно приобрести за небольшую плату в магазине Google Play (для Android) или в Apple App Store (для iOS). Мобильные приложения — это приятное прикосновение, и они не содержат рекламы, аналитики или призывов к отзывам. Тем не менее, они ограничены в функциональности.
В целом, Packet Sender является эффективным генератором и анализатором сетевого трафика. Это отличный способ найти дыры в вашем брандмауэре, и отсутствие ценника привлекает. Однако бесплатные инструменты с открытым исходным кодом имеют несколько недостатков. Они, как правило, не так удобны для пользователя, как другие инструменты, и они могут быть менее надежными. Они также не особенно подходят для нужд бизнеса. Тем не менее, если вы хотите попробовать Packet Sender, загрузив его, вы не рискуете. Я лично не думаю, что он настолько динамичен и удобен, насколько мог бы быть, но для бесплатного инструмента его функциональность щедра.
Вернуться к началу
- Нпинг
Nping — еще одна популярная программа с открытым исходным кодом для генерации сетевых пакетов, анализа ответов и анализа времени отклика. С помощью этого инструмента вы можете создавать свои собственные пакеты для гибкого тестирования протокола. Заголовки протокола можно настроить по своему вкусу, что позволит вам точно настроить подход к тестированию.
Nping является многофункциональным инструментом, являющимся одновременно инструментом проверки связи и отлично подходящим для генерации RAW-пакетов, атак типа «отказ в обслуживании», трассировки и отравления ARP. Он включает в себя «режим эха», который обеспечивает расширенное обнаружение и устранение неполадок. В эхо-режиме вы можете видеть, как меняются сетевые пакеты, когда они находятся в пути, как на целевой машине, так и на исходной.
По сути, этот режим разбивает Nping на два элемента — эхо-сервер и эхо-клиент. Эхо-сервер — это сетевая служба для захвата пакетов и их эха исходному клиенту через побочный TCP-канал. Эхо-клиент берет на себя генерацию пакетов и передачу пакетов на сервер. Этот элемент также отвечает за получение эхо-версий. Мне нравится режим эха, потому что он дает вам полное представление о различиях между тем, как пакет отправляется и как он получен.
Режим Echo также отлично подходит для устранения неполадок с брандмауэром или маршрутизацией. Вы можете использовать его, чтобы определить, теряется ли трафик при передаче. Поскольку эхо-протокол Nping позволяет клиенту и серверу взаимодействовать по зашифрованному каналу, безопасность Nping очень надежна.
Nping также поддерживает генерацию настраиваемых пакетов TCP, UP, ICMP и ARP, а также утилиты трассировки маршрута и полезен для обнаружения прерывания пакетов и понимания правил брандмауэра. Это очень полезная программа с поддержкой нескольких целевых портов и спецификаций целевого хоста, генерации кадров Ethernet и IPv6. Он предлагает непривилегированные режимы для пользователей без полномочий root и достаточно настраиваемый.
Как и Packet Sender, этот инструмент мог бы быть более удобным для пользователя. И, как и большинство бесплатных программ для стресс-тестирования сети с открытым исходным кодом, оно не подходит для нужд бизнеса. Он доступен для Linux, Mac и Windows, его легко загрузить и установить. Исходный код доступен на странице загрузки.
- Остинато
Ostinato — популярный генератор сетевого трафика и пакетов. Этот инструмент имеет дружественный графический интерфейс и может похвастаться Python API для автоматизации сетевых тестов. Он позволяет создавать собственные потоки трафика и предлагает удивительные возможности настройки. Что мне больше всего нравится в Ostinato, так это хорошо спроектированный пользовательский интерфейс с множеством динамических графических представлений.
Ostinato может похвастаться широким набором функций, что делает его универсальным инструментом. И такое большое количество утилит не означает, что разработчики пошли на компромисс в отношении качества. Функции продуманы до мелочей и просты в освоении обычным пользователем. Как я уже упоминал, вы можете создавать свои собственные потоки; вы также можете настроить их всесторонне, учитывая скорость потока, всплески и количество пакетов. Это инструмент, подходящий для тестирования нагрузки сети и функционального тестирования. Это дает вам возможность визуализировать данные для каждого потока, давая вам точный взгляд на измерения потери пакетов на детальном уровне.
Ostinato также отлично подходит для измерения и мониторинга сети в режиме реального времени. Его эффективная и экономичная конструкция позволяет получать и передавать статистику и рейты на уровне интерфейса. Существует также тот факт, что Ostinato очень совместим и благосклонен. Он охватывает большинство протоколов, включая VLAN, ARP, IPv4 и IPv6, IP в IP, TCP и UDP, ICMPv4 и ICMPv6, IGMP, MLD, IEEE 802. 3 LLC, SNAP и текстовые протоколы.
С помощью Ostinato вы можете складывать протоколы в случайном порядке, чтобы проверять случаи ошибок и изменять поля пакетов на этапе выполнения, например, изменяя IP-/MAC-адреса. Инструмент имеет пользовательские сценарии, которые можно использовать для замены протокола, который не был реализован. Вы можете открывать, редактировать, воспроизводить и сохранять файлы PCAP. И несмотря на то, что контроллер всего один, у вас может быть несколько агентов.
В целом, это многофункциональный инструмент. Однако есть несколько важных функций, которые Ostinato выполнять не будет. Среди них следует отметить, что Ostinato не имеет состояния, что означает, что он не поддерживает соединения TCP, ориентированные на соединение с отслеживанием состояния. Кроме того, он не подходит для генерации поддельного трафика и отправки его на веб-сайты.
Если вы хотите попробовать Ostinato, вы можете скачать его здесь. Доступны три пакета. Первый предназначен для использования в Windows, Mac OS или одном дистрибутиве Linux. Второй пакет представляет собой настольный комплект, доступный для всех трех — Windows, Mac OS и Linux (он поддерживает более семи дистрибутивов Linux). Этот пакет содержит бесплатные обновления и примеры потоков. Суперпакет, третий пакет, включает в себя все вышеперечисленное, а также совместимость с Live ISO и виртуальными устройствами. Также доступны два дополнения — Python API и Turbo Transmit. Turbo Transmit обеспечивает скорость 10G, 25G или 40G, а Python API подходит для увеличения возможностей автоматизации.
Вернуться к началу
- NetScanTools Pro
Программное обеспечение для тестирования сети NetScanTools Pro включает инструменты Packet Generator и Packet Flooder. Генератор пакетов — это достойный инструмент, позволяющий создавать пакеты UDP, TCP, CDP, ICMP, ARP/RARP или RAW и отправлять один пакет или несколько пакетов на адрес IPv4. Этот инструмент был разработан в первую очередь как утилита для создания и обработки пакетов. Если вы хотите наводнить сеть пакетами и трафиком в качестве средства ее стресс-тестирования, вам нужно объединить генератор пакетов с инструментом Packet Flooder. Генератор пакетов сам по себе не может создать высокоскоростной трафик и не будет отвечать на возвращаемые пакеты. Однако их комбинация может стать всеобъемлющим инструментом.
С генератором пакетов вы получаете полный контроль над заголовками, включая назначение MAC-адресов, источник трафика Ethernet и поля заголовков IP, TCP, UDP и ICMP. Эта программа отлично подходит для быстрой последовательной отправки нескольких типов пакетов с использованием процессов сценариев и для воспроизведения файла захвата пакетов, сохраненного в прошлом.
Одной из особенностей Packet Generator, которая мне нравится, является то, что передача пакетов осуществляется по сценарию. Сценарии просты, и эта функция означает, что параметры ваших пакетов могут быть изменены в соответствии с отредактированным сценарием. Мне также нравится режим, предназначенный для пакетов RAW. По сути, этот режим позволяет определить пакет с помощью шестнадцатеричного редактора NetScanTools. Длина пакета RAW ограничена максимальной единицей передачи вашей сети (обычно 1460 байт).
К сожалению, Генератор пакетов не имеет возможности отправлять настроенные пакеты через интерфейсы глобальной сети, такие как модемы. Он может отправлять только через проводной Ethernet или беспроводной интерфейс 802.11x. Между тем, Packet Flooder в первую очередь является генератором сетевого трафика UDP. Он может отправлять пакеты на адреса IPv4 и IPv6 с относительно высокой скоростью, достигая при определенных обстоятельствах использования пропускной способности до 98%. Основным недостатком этого инструмента является то, что он не может отправлять типы пакетов, отличные от UDP.
С помощью инструмента NetScanTools Packet Flooder можно исправить целевой UDP-порт или сделать его совершенно случайным. Это полезно для некоторых тестов. Полезные данные данных также могут быть настроены с адаптируемой длиной и содержанием; Содержимое полезной нагрузки может включать случайные символы, повторяющиеся символы алфавита, данные файла или текстовые данные. Эта функция доступна на любом интерфейсе, через который Windows может отправлять UDP-пакеты.
В отличие от Packet Generator, Packet Flooder не использует WinPcap или Npcap. Это означает, что нет никаких ограничений на совместимость устройств. Скорее, интерфейс определяется операционной системой в соответствии с содержимым таблицы маршрутизации IPv4 или IPv6. Стоит отметить, что использование полосы пропускания, достигнутое с помощью этого инструмента, зависит от отчетов данных, генерируемых операционной системой. Отчеты представляют собой исторические диаграммы или индикаторы — два динамичных и легко читаемых метода отображения данных.
Если вы хотите попробовать Генератор пакетов NetScanTools и Распространитель пакетов, ознакомьтесь с демо-версией NetScanTools Pro, которая предоставляется бесплатно в течение 30 дней. Имейте в виду, что это не полная версия, и демо-версию нельзя преобразовать в полную, просто разблокировав ее.
- TRex
TRex — еще одна программа с открытым исходным кодом, хотя и не бесплатная. Тем не менее, это хорошая цена, и она может похвастаться гибким предложением. TRex включает в себя как наборы функций с отслеживанием состояния, так и наборы функций без сохранения состояния. Наборы функций с отслеживанием состояния включают поддержку интерфейсов DPDK ½,5/5/10/25/40/50/100 Гбит/с, большой масштаб трафика (до 200–400 ГБ в секунду), измерения задержки, измерения джиттера, проверки порядка потоков. и обучение трансляции NAT/PAT.
Наборы функций без сохранения состояния включают возможность создавать потоки трафика без сохранения состояния с масштабом до 20 миллионов пакетов в секунду, а также поддержку многочисленных потоков; возможность изменять любое поле в пакете; непрерывная поддержка, пакетная поддержка, поддержка многократного использования, поддержка нескольких пакетов, поддержка консоли и поддержка графического интерфейса пользователя; потоковая статистика задержки и джиттера; и Python API для повышения автоматизации.
Это хороший инструмент для сравнительного анализа и стресс-тестирования NAT, брандмауэра, IPS, балансировщика нагрузки и сетевых кэш-устройств, предлагающий неограниченные одновременные потоки. Основная проблема с TRex заключается в том, что он не поддерживает плагины эмуляции маршрутизации, такие как BGP, ISIS и RIP.
Первоклассный генератор сетевого трафика
При поиске инструмента для создания или имитации сетевого трафика вы столкнетесь с множеством вариантов. Прочитав это руководство, вы должны иметь представление о доступных инструментах и о том, какие из них лучше всего подходят для ваших нужд. Некоторые из них бесплатны и имеют более ограниченный охват, в то время как другие являются частью комплексных наборов инструментов. Воспользуйтесь бесплатными версиями премиум-программы, если они доступны.
Набор инструментов инженера SolarWinds, особенно WAN Killer, — мой любимый генератор сетевого трафика на рынке. Наряду с самим элементом генератора трафика общее предложение, включенное в более широкий набор инструментов, не имеет себе равных. С более чем 60 инструментами, работающими вместе с замечательными показателями успеха, ETS предлагает отличное соотношение цены и качества, интеллектуальные функции и удобный дизайн, и он доступен в виде бесплатной пробной версии.
10 лучших программных инструментов для генерации пакетов сетевого трафика (в 2023 г.)
Автор: Харрис Андреа
В мире сетей и ИТ мы обычно проектируем и внедряем сети и серверную инфраструктуру, считая само собой разумеющимся, что оборудование и приложения выдержат любые нагрузки. объем трафика.
Стресс-тестирование сети или ИТ-системы с большим объемом трафика даст нам важную информацию о поведении таких систем в нештатных условиях, таких как DDoS-атаки, внезапный приток трафика (например, во время передачи резервных копий по сети) и т. д.
Генераторы пакетов трафика — это аппаратные или программные инструменты, которые связаны с техническими аспектами трафика и его влиянием на сетевые и системные ресурсы.
Поскольку большая часть создания положительного пользовательского опыта — это ваш процент времени безотказной работы и отсутствие замедленного отклика, потери пакетов, перегрузки канала и т. д., измерение того, как всплески трафика и колебания пользовательской активности влияют на производительность системы и распределение ресурсов, является важным, и иногда упускается из виду, функция ИТ-операций.
Когда вы используете генератор пакетов сетевого трафика, вы пытаетесь выполнить изолированные тесты таким образом, чтобы исключить переменные и уменьшить роль генератора пакетов в создании узких мест и других проблем, связанных с трафиком. Комплексная система тестирования будет включать:
- Источники трафика, инструменты или оборудование для оценки и приемники
- Конкретное тестируемое устройство (DUT)
- Физические соединения и барьеры между источниками трафика и DUT
Выполнение стресс-тестов и моделирование потоков трафика следует выполнять как во время создания сети, так и в реальных рабочих сетях после запуска. Это поможет предотвратить такие проблемы, как потеря данных и обрыв соединений.
У вас есть остальные компоненты, вот инструменты: Наш список 10 лучших программных генераторов пакетов сетевого трафика на рынке прямо сейчас. Список ниже включает в себя как бесплатные, так и коммерческие варианты.
Содержание
Эта компания стремится создать инструмент для тестирования сети и генератор трафика для каждого инженера и ИТ-специалиста, но это невозможно в современном технологическом климате. Что он действительно делает, так это предоставляет вам генератор пакетов с дружественным графическим интерфейсом и большой мощностью.
Этот бесплатный инструмент с открытым исходным кодом распространяется под лицензией GNU GPLv3 и поддерживается за счет денежных пожертвований, кода или других видов положительного вклада.
Основные функции включают:
- Поддержка всех основных операционных систем
- Эксклюзивное управление портами для обеспечения контролируемой среды тестирования
- Открывает и редактирует файлы PCAP, воспроизводит и сохраняет обратно
- Устанавливает значения для любого поля тестирования
- Поддерживает большинство протоколов, включая IPv4 и 6, IP-in-IP, туннелирование, TCP без сохранения состояния, WLAN, Ethernet и др.
- Доступен через GUI или Python API
- Выполняет нагрузочное и функциональное тестирование
- Создает и поддерживает несколько потоков
Недостатки:
- Не поддерживает TCP-соединения с отслеживанием состояния и установлением соединения
- Только экспериментальная поддержка пользовательского сценария для замены нереализованных протоколов
Это еще один бесплатный инструмент с открытым исходным кодом, который предоставляет больше, чем просто тестирование генерации пакетов.
Это часть известного инструмента Nmap, который используется в основном для картирования сети и обнаружения при оценке безопасности.
С помощью этого надежного инструмента вы также сможете выполнять анализ отклика и измерения времени.
Они также необходимы для обеспечения высокой степени удовлетворенности пользователей. Он предоставляет полный интерфейс на основе командной строки, настолько же мощный, насколько и удобный.
Используйте этот инструмент для отправки обычных ping-пакетов ICMP для обнаружения активных хостов, а также для отправки необработанных сетевых пакетов для стресс-тестирования, обнаружения повреждения пакетов и выявления ряда уязвимостей в вашей сети.
Основные функции включают:
- Пользовательское создание пакетов ARP, TCP, UDP и ICMP (ping)
- Поддерживает несколько спецификаций целевого порта и хоста
- Режим эха для расширенного тестирования
- Поддерживает все основные операционные системы (Windows, Linux, Mac)
- Возможности отслеживания маршрута
- Гибкость и простота настройки
Недостатки:
- Только экспериментальная поддержка IPv6
Этот инструмент позиционирует себя как «реалистичный генератор трафика». Таким образом, вы можете искать TRex для создания трафика с отслеживанием состояния и без сохранения состояния на основе DPDK, который позволяет интеллектуально воспроизводить фактические шаблоны трафика.
Позволяет анализировать несколько потоков и предоставляет индивидуальные отчеты о джиттере, задержке и статистике для каждого потока.
Этот инструмент также можно использовать для эталонного тестирования с сохранением состояния и стресс-тестирования балансировщиков нагрузки, интернет-провайдеров, DPI, NAT и защиты брандмауэра, а также для создания потоков трафика без сохранения состояния.
Особенности включают:
- Поддерживает наборы функций с отслеживанием состояния, такие как эмуляция L7 с масштабируемым уровнем TCP
- Поддерживает до 20 миллионов пакетов в секунду (без сохранения состояния)
- До 200–400 Гбит/с через одну Cisco UCS (с отслеживанием состояния)
- Непрерывная поддержка множественных/одиночных пакетов
- Интерактивная консоль с графическим интерфейсом
- Автоматизация Python API
- Поддержка интерфейсов DPDK 1/2,5/5/10/25/40/50/100 Гбит/с с отслеживанием состояния
- Обучение динамическому переводу NAT и PAT
Недостатки:
- Поддержка плагина роутера не открыта
Компания SolarWinds, которой доверяют, предоставляет в ваше распоряжение ряд инструментов для тестирования, управления и мониторинга.
Их инструмент WAN Killer выполняет упреждающее тестирование сети под нагрузкой и нагрузкой, отправляя полностью настраиваемый реальный трафик на определенный хост или IP-адрес.
Позволяет установить размер пакета и процент полосы пропускания во время тестирования сети WAN, отслеживать пакеты TCP/UDP при определенных условиях нагрузки и установить IP-адрес или имя хоста для генерации случайных пакетов.
Этот инструмент недоступен бесплатно, но есть 14-дневная бесплатная пробная версия с полной функциональностью, прежде чем вам придется покупать лицензию.
Функции WAN Killer включают:
- Мониторинг пропускной способности и трафика WLC
- Оповещения о трафике приложений и сетевой анализ
- Интегрируется с другими инструментами Solar Winds и платформами Orion
- Расширенное распознавание приложений NBAR2
- Оптимизация политики CBQoS
- Выявляет вредоносные и искаженные шаблоны трафика
- Объединяет NTA с Network Configuration Manager (NCM)
Недостатки:
- Цены начинаются от 1000 долларов США
- Работает только в ОС Windows
Это многоцелевое приложение позволяет отправлять и получать симулированные пакеты UDP, TCP и SSL, настраивать и выбирать порты, а также одновременно запускать клиентское и серверное программное обеспечение.
Он также предлагает большую гибкость и возможность настройки методологии и ввода через командную строку или графический интерфейс.
Packet Sender также включает встроенные считыватели ASCII и Hex и поддерживает все основные операционные системы. Лучше всего то, что этот инструмент полностью бесплатный и с открытым исходным кодом.
Функции
- Функция горячей клавиши
- Выполняет параллельный анализ вредоносных программ
- Автоматизация тестовой среды и создание сценариев
- Запускает тестирование генерации трафика между двумя отдельными машинами
- Проверяет целостность брандмауэра
- Поддерживает все основные операционные системы
- Встроенные считыватели ASCII и Hex
- Увеличение или уменьшение масштаба для предоставления настраиваемых сред тестирования
Недостатки:
- Ничего, что мы могли видеть
Это простое приложение не только тестирует входящий трафик, но также выполняет стресс-тестирование и нагрузочное тестирование прямо в вашей сети. С помощью этого инструмента вы можете анализировать поведение вашей сети, отправляя трафик TCP/IP и ICMP, а также пакеты UDP. После установки этого приложения вам предлагается по 20 генераторов/серверов UDP, TCP и клиентов.
Это платный инструмент, но с очень доступной ценой около 79 долларов за персональную лицензию.
Особенности
- Простой в использовании интерфейс
- Поддерживает 20 генераторов и клиентов UDP для каждой установки
- Поддерживает 20 TCP-серверов и клиентов для каждой установки
- Измеряет различные типы TCP-трафика
- Также действует как сетевой монитор
- Эмулирует как клиентскую, так и серверную активность
Недостатки:
- Не бесплатно (но доступно)
- Совместим только с Windows
У этого инструмента есть одна цель: как можно быстрее заполнить вашу сеть пакетами UDP, чтобы увидеть, сколько это может занять.
Это очень полезно для проверки того, как ваша сеть и средства защиты будут вести себя, например, во время объемной DDoS-атаки.
Несмотря на то, что он не предлагает такую широкую среду тестирования, множество функций или некоторые навороты других генераторов трафика, он делает то, для чего был разработан, и делает это хорошо.
Это приложение позволяет вам устанавливать параметры тестирования, включая целевой порт, полезную нагрузку и скорость отправки. Базовый уровень установлен на интерфейсе Ethernet 100BaseT с использованием до 98 процентов, в зависимости от конфигурации вашего оборудования и программного обеспечения.
Особенности:
- Поддерживает IPv4 и 6
- Предлагает контроль над целевыми портами, полезной нагрузкой и скоростью отправки
- Оценивает интенсивный трафик/высокую полезную нагрузку
- Доступна пробная версия
Недостатки:
- Генерирует только пакеты UDP
- Необходимо оплатить лицензию после бесплатной пробной версии
Этот инструмент был создан для генерации и анализа трафика и сетей Ethernet. Он доступен через командную строку или графический интерфейс, и вы можете настроить параметры для имитации ряда условий.
Последнее поколение этого инструмента, 2.0, даже проверяет наличие разорванных соединений и поддерживает операционные системы на базе Linux.
Packeth поддерживает широкий спектр протоколов, включая Ethernet II, Ethernet 802.3, 802.1q, QinQ, TCP ADP, а также определяемые пользователем платформы Ethernet, сетевые полезные нагрузки и полезные нагрузки транспортного уровня. Бесплатный и с открытым исходным кодом и лучше всего подходит для сред LAN.
Особенности:
- Создает задержки между пакетами
- Определяет количество пакетов
- Позволяет изменять параметры во время теста
- Поддерживает почти все протоколы и полезные нагрузки RTP
- Включает опции настройки рампы и скорости
- Поддерживает форматы файлов PCAP (сохранение и чтение).
- Поддерживает кадры JUMBO с включенными соответствующими сетевыми драйверами
- Простота в использовании, небольшая кривая обучения
Недостатки:
- Поддерживает только ОС на базе Linux
- Версия CLI отправляет только упаковщики, уже сохраненные в файлах PCAP
- В зависимости от дистрибутива и установки Linux могут потребоваться дополнительные пакеты
Этот инструмент генерации трафика возвращается к основам в своем выпуске второго поколения. Он измеряет производительность как TCP, так и UDP в различных условиях трафика с целью поддержания активного кодирования iperf и сохранения того кодирования, которое не работает.
Iperf 2 также добавляет управление кодом Python для обеспечения централизованного тестирования и публикует статистику, связанную со временем, включая запись сквозной задержки.
Особенности:
- Поддерживает большинство основных операционных систем
- Поддерживает интервалы до пяти минут
- Может создавать расширенные отчеты
- Отображает целевое время цикла в начальном заголовке UDP
- Поддерживает SO_RCVTIMEOUT, O_SNDTIMEO и SO_TIMESTAMP
- Привязывается, чтобы позволить ОС определить целевой порт
- Многоадресная поддержка SSM для IPv4 и 6
- Бесплатно, с открытым исходным кодом
Недостатки:
- Не совместим с iperf 3
Этот инструмент использует технологию Intel DPDK (Data Plane Development Kit) для создания реального решения для облачных высокоскоростных сетей.