Содержание

запускаем нагрузочное тестирование сетевых устройств / Хабр

При разработке очередного роутера мы тестировали производительность сети с помощью полезной 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 думают и как используют коллеги-инженеры.

Генератор трафика 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 представляет собой систему распределенных генераторов кибератак, которые устанавливаются в различных точках сети и выполняют целевые тесты друг на друга. Цель перманентного кибертестирования заключается в проверке работы, настроек и надёжности систем предотвращения и детектирования атак.

15 лучших, но бесплатных инструментов для создания пакетов

Создание пакетов — это процесс ручного создания или редактирования существующих пакетов данных в сети для тестирования сетевых устройств. Хакеры и сетевые администраторы используют этот процесс для проверки сети, проверки правил брандмауэра, поиска точек входа и тестирования поведения сетевого устройства.

Пакеты сетевых данных содержат различную информацию, в том числе данные, адрес источника, адрес назначения, версию, длину, протокол и некоторые другие вещи в зависимости от протокола. При создании пакета создается совершенно новый пакет или редактируется существующий пакет для изменения содержащегося в нем информационного пакета. Затем этот пакет отправляется в сеть, чтобы увидеть ответ сетевого брандмауэра. Изменяя значения в пакете, злоумышленники пытаются найти точку входа в сеть для вторжения.

«Создание пакетов» и «подмена пакетов» — это не одно и то же.

Создание пакетов не является простой задачей для начинающих. Он состоит из следующих шагов:

  1. Сборка пакетов: создайте новый сетевой пакет или перехватите пакет по сети и отредактируйте информацию в соответствии с требованиями.
  2. Редактирование пакета: редактирование содержимого существующего пакета
  3. Packet Re / Play: отправить / отправить пакет в сети
  4. Декодирование пакета: декодировать и анализировать содержимое пакета

Некоторые инструменты очень старые, но все еще работают нормально. Другие инструменты активно находятся в разработке, в то время как другие больше не находятся в разработке. Инструменты для всех этих различных шагов доступны.

Это 15 лучших, но бесплатных инструментов для создания пакетов.

1. Хпинг

Hping — это один из самых популярных и бесплатных инструментов для создания пакетов. Он позволяет собирать и отправлять пользовательские пакеты ICMP, UDP, TCP и Raw IP. Этот инструмент используется сетевыми администраторами для аудита безопасности и тестирования брандмауэров и сетей. Теперь этот инструмент также доступен в Nmap Security Scanner.

HPing доступна для широкого спектра платформ, включая Windows, MacOs X, Linux, FreeBSD, NetBSD, OpenBSD и Solaris.

2. Остинато

Ostinato — это генератор кросс-платформенных сетевых пакетов с открытым исходным кодом и инструмент для анализа. Он поставляется с графическим интерфейсом, который облегчает использование и понимание. Он поддерживает платформы Windows, Linux, BSD и Mac OS X. Вы также можете попробовать использовать его на других платформах.

Лучшая вещь об инструменте — то, что он поддерживает большинство общих стандартных протоколов. Смотрите список поддерживаемых протоколов ниже

  • Ethernet / 802.3 / LLC SNAP
  • VLAN (с QinQ)
  • ARP, IPv4, IPv6, IP-in-IP или IP-туннелирование (6over4, 4over6, 4over4, 6over6)
  • TCP, UDP, ICMPv4, ICMPv6, IGMP, MLD
  • Любой текстовый протокол (HTTP, SIP, RTSP, NNTP и т. Д.)
  • Поддержка большего протокола также в работе.

Используя Ostinato, вы можете легко модифицировать любое поле любого протокола. Этот инструмент создания пакетов также называется дополнительным к Wireshark.

3. Скапи

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

4. Библиотекарь

Libcrafter очень похож на Scapy. Этот инструмент написан на C ++, чтобы упростить создание и декодирование сетевых пакетов. Он может создавать и декодировать пакеты для большинства общих протоколов, захватывать пакеты и сопоставлять запросы или ответы. Эта библиотека была разработана для меня многопоточным, что позволяет вам выполнять различные задачи одновременно.

5. Иерсиния

Yersinia — это мощный инструмент для тестирования на проникновение в сеть, способный выполнять атаки на различные сетевые протоколы. Если вы ищете инструменты для создания пакетов, это просто замечательный инструмент.

6. упаковка

packETH — еще один инструмент для создания пакетов. Это инструмент Linux GUI для Ethernet. Это позволяет быстро создавать и отправлять последовательность пакетов. Как и другие инструменты в этом списке, он поддерживает различные протоколы для создания и отправки пакетов. Вы также можете установить количество пакетов и задержку между пакетами. Вы также можете настроить различные вещи в этом инструменте.

7. Colasoft Packet Builder

Colasoft Packet Builder также является бесплатным инструментом для создания и редактирования сетевых пакетов. Если вы являетесь сетевым администратором, вы можете использовать этот инструмент для проверки сети на предмет атак злоумышленников и злоумышленников. Он поставляется для всех доступных версий операционной системы Windows.

8. Бит-твист

Bit-Twist — менее популярный, но эффективный инструмент для восстановления захваченных пакетов в реальном трафике. Он использует файл трассировки tcpdump (файл .pcap) для генерации пакетов в сети. Он поставляется с редактором файла трассировки, который позволяет изменить любое конкретное поле в захваченном пакете. Сетевой администратор может использовать этот инструмент для тестирования межсетевого экрана, IDS и IPS, а также для устранения различных сетевых проблем. Есть много других вещей, для которых вы можете попробовать этот инструмент.

9. Либтинс

Libtins также является хорошим инструментом для простого создания, отправки, анализа и интерпретации сетевых пакетов. Этот инструмент был написан на C ++. Используя исходный код, разработчики на C ++ могут расширить функциональность этого инструмента и сделать его более мощным. Он выполняет свою задачу очень эффективно. Теперь вы можете использовать этот инструмент.

10. Netcat

Netcat также является популярным инструментом, который может читать и записывать данные в сети TCP или UDP. Этот инструмент надежен и прост в использовании. Вы также можете разработать другие инструменты, которые могут использовать эту функциональность этого инструмента. Лучшее в этом инструменте — это то, что он может создать практически любое сетевое соединение с привязкой порта.

Этот инструмент был первоначально известен как Хоббит и был выпущен в 1995 году.

11. WireEdit

WireEdit — это полнофункциональный редактор сетевых пакетов WYSIWYG. Это означает, что вы можете редактировать все слои пакетов в простом интерфейсе. Этот инструмент можно использовать бесплатно, но вам необходимо связаться с компанией, чтобы получить право на использование. Если вы спросите о поддерживаемых протоколах, есть длинный список. Он поддерживает Ethernet, IPv4, IPv6, UDP, TCP, SCTP, ARP, RARP, DHCP, DHCPv6, ICMP, ICMPv6, IGMP, DNS, LLDP, RSVP, FTP, NETBIOS, GRE, IMAP, POP3, RTCP, RTP, SSH, TELNET, NTP, LDAP, XMPP, VLAN, VXLAN, CIFS / SMB v1 (оригинал), BGP, OSPF, SMB3, iSCSI, SCSI, HTTP / 1.1, OpenFlow 1.0-1.3, SIP, SDP, MSRP, MGCP, MEGACO (H .248), H.245, H.323, CISCO Skinny, Q.931 / H.225, SCCP, SCMG, SS7 ISUP, TCAP, GSM MAP R4, GSM SM-TP, M3UA, M2UA, M2PA, CAPWAP, IEEE 802.11, еще впереди.

Это мультиплатформенный инструмент. Он поставляется для Windows XP или выше, Ubuntu Desktop и Mac OSX.

12. epb — Ethernet Packet Bombardier

Epb, или Ethernet Packet Bombardier, также является аналогичным инструментом, но с простой работой. Это позволяет отправлять индивидуальные пакеты Ethernet. Этот инструмент не предлагает никакого графического интерфейса, но он прост в использовании.

13. Fragroute

Fragroute — это инструмент создания пакетов, который может перехватывать, изменять и переписывать сетевой трафик. Вы можете использовать этот инструмент для выполнения большинства атак вторжений в сеть, чтобы проверить безопасность вашей сети. Этот инструмент с открытым исходным кодом и предлагает интерфейс командной строки для работы с. Он доступен для Linux, BSD и Mac OS.

14. Мозезан

Mausezahn — это быстрый инструмент генерации трафика, который позволяет отправлять все возможные типы сетевых пакетов. Этот инструмент используется для тестирования проникновения брандмауэров и IDS, но вы можете решить, как эффективно использовать этот инструмент в вашей сети для поиска ошибок безопасности. Вы также можете использовать этот инструмент, чтобы проверить, защищена ли ваша сеть от атак DOS. Особенность этого инструмента в том, что он дает вам полный контроль над картой NIC. Он поддерживает ARP, BPDU или PVST, CDP, LLDP, IP, IGMP, UDP, TCP (без сохранения состояния), ICMP (частично), DNS, RTP, опционально RX-режим для измерений джиттера и протоколы системного журнала.

15. EIGRP-инструменты

Это генератор пакетов EIGRP и анализатор вместе. Он был разработан для проверки безопасности протокола маршрутизации EIGRP. Чтобы использовать этот инструмент, вам нужно знать протокол Layer 3 и EIGRP. Этот инструмент также является инструментом с открытым исходным кодом с интерфейсом командной строки. Он доступен для платформ Linux, Mac OS и BSD.

Это несколько лучших бесплатных инструментов для создания пакетов. 

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

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 и многого другого.

Лучшие инструменты для генерации трафика

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

  1. Генератор сетевого трафика 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.

  1. Отправитель пакета

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, загрузив его, вы не рискуете. Я лично не думаю, что он настолько динамичен и удобен, насколько мог бы быть, но для бесплатного инструмента его функциональность щедра.

Вернуться к началу

  1. Нпинг

Nping — еще одна популярная программа с открытым исходным кодом для генерации сетевых пакетов, анализа ответов и анализа времени отклика. С помощью этого инструмента вы можете создавать свои собственные пакеты для гибкого тестирования протокола. Заголовки протокола можно настроить по своему вкусу, что позволит вам точно настроить подход к тестированию.

Nping является многофункциональным инструментом, являющимся одновременно инструментом проверки связи и отлично подходящим для генерации RAW-пакетов, атак типа «отказ в обслуживании», трассировки и отравления ARP. Он включает в себя «режим эха», который обеспечивает расширенное обнаружение и устранение неполадок. В эхо-режиме вы можете видеть, как меняются сетевые пакеты, когда они находятся в пути, как на целевой машине, так и на исходной.

По сути, этот режим разбивает Nping на два элемента — эхо-сервер и эхо-клиент. Эхо-сервер — это сетевая служба для захвата пакетов и их эха исходному клиенту через побочный TCP-канал. Эхо-клиент берет на себя генерацию пакетов и передачу пакетов на сервер. Этот элемент также отвечает за получение эхо-версий. Мне нравится режим эха, потому что он дает вам полное представление о различиях между тем, как пакет отправляется и как он получен.

Режим Echo также отлично подходит для устранения неполадок с брандмауэром или маршрутизацией. Вы можете использовать его, чтобы определить, теряется ли трафик при передаче. Поскольку эхо-протокол Nping позволяет клиенту и серверу взаимодействовать по зашифрованному каналу, безопасность Nping очень надежна.

Nping также поддерживает генерацию настраиваемых пакетов TCP, UP, ICMP и ARP, а также утилиты трассировки маршрута и полезен для обнаружения прерывания пакетов и понимания правил брандмауэра. Это очень полезная программа с поддержкой нескольких целевых портов и спецификаций целевого хоста, генерации кадров Ethernet и IPv6. Он предлагает непривилегированные режимы для пользователей без полномочий root и достаточно настраиваемый.

Как и Packet Sender, этот инструмент мог бы быть более удобным для пользователя. И, как и большинство бесплатных программ для стресс-тестирования сети с открытым исходным кодом, оно не подходит для нужд бизнеса. Он доступен для Linux, Mac и Windows, его легко загрузить и установить. Исходный код доступен на странице загрузки.

  1. Остинато

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 подходит для увеличения возможностей автоматизации.

Вернуться к началу

  1. 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 дней. Имейте в виду, что это не полная версия, и демо-версию нельзя преобразовать в полную, просто разблокировав ее.

  1. 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 предлагает отличное соотношение цены и качества, интеллектуальные функции и удобный дизайн, и он доступен в виде бесплатной пробной версии.

Генератор сетевого трафика и стресс-тест — WAN Killer

Проведите реалистичные тесты использования с генератором сетевого трафика WAN Killer

Выполнение реалистичных тестов использования с помощью генератора сетевого трафика WAN Killer

Развертывание инструмента WAN Killer в SolarWinds ® Engineer’s Toolset может помочь вам в интерактивном режиме протестировать соединения и настроить генерируемый IP-трафик для достижения желаемой сетевой нагрузки в соответствии с вашими требованиями.

WAN Killer разработан, чтобы помочь вам:

  • Установить IP-адрес и имя хоста, которые должны получать случайный трафик
  • Настройте номера портов, размер пакета и процент пропускной способности для отправки
  • Изменить параметры точки кода дифференцированных услуг (DSCP) и явного уведомления о перегрузке (ECN)

СКАЧАТЬ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ Полная функциональность в течение 14 дней ССЫЛКА НА ПРОБНУЮ ПРОБНУЮ ЭЛЕКТРОННУЮ ПОЧТУ Полная функциональность в течение 14 дней

Учить больше Учить больше

Используйте инструмент стресс-тестирования сети, чтобы получить представление о влиянии уровня трафика

Используйте инструмент стресс-тестирования сети, чтобы получить представление о влиянии уровня трафика

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

Инструмент WAN Killer в наборе инструментов инженера выполняет функцию стресс-тестера сети, генерируя и отправляя пакеты, чтобы получить реалистичное представление о том, как устройства будут работать в случае внезапных или экстремальных скачков трафика. Информация, которую вы получаете в результате стресс-теста сети, может помочь вам понять, как укрепить вашу инфраструктуру, прежде чем возникнут серьезные проблемы.

СКАЧАТЬ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ Полная функциональность в течение 14 дней ССЫЛКА НА ПРОБНУЮ ПРОБНУЮ ЭЛЕКТРОННУЮ ПОЧТУ Полная функциональность в течение 14 дней

Учить больше Учить больше

Имитация сетевого трафика перед развертыванием новых приложений

Моделируйте сетевой трафик перед развертыванием новых приложений

Возможность моделировать сетевой трафик означает, что вы можете использовать упреждающий подход к управлению производительностью сети, что полезно, если, например, вы планируете развернуть новое приложение в своей сети.

Вы можете легко настроить симулятор сетевого трафика в Engineer’s Toolset, чтобы он отражал реалистичные условия, такие как номер порта и протоколы. Вы также можете отправить смоделированный трафик, чтобы увидеть, получит ли трафик вашего приложения соответствующий приоритет. Если нет, вы можете найти и решить проблемы, которые могут помешать обеспечению наилучшего качества обслуживания.

СКАЧАТЬ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ Полная функциональность в течение 14 дней ССЫЛКА НА ПРОБНУЮ ПРОБНУЮ ЭЛЕКТРОННУЮ ПОЧТУ Полная функциональность в течение 14 дней

Учить больше Учить больше

Проверьте качество обслуживания с помощью убийцы пропускной способности, чтобы понять, нужны ли дополнительные ресурсы

Проверьте качество обслуживания с помощью убийцы пропускной способности, чтобы понять, нужны ли дополнительные ресурсы

Вы также можете рассматривать WAN Killer как инструмент стресс-тестирования пропускной способности. Достаточно ли у вас пропускной способности для поддержки вашего трафика, даже если происходят внезапные всплески? Функция генератора полосы пропускания в наборе инструментов SolarWinds Engineer предназначена для того, чтобы помочь вам понять, достаточны ли ваши текущие конфигурации и ограничения полосы пропускания для ваших конечных пользователей. Если убийца полосы пропускания предполагает, что это не так, вы можете устранить блокировки или инвестировать в дополнительные ресурсы полосы пропускания по мере необходимости.

СКАЧАТЬ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ Полная функциональность в течение 14 дней ССЫЛКА НА ПРОБНУЮ ПРОБНУЮ ЭЛЕКТРОННУЮ ПОЧТУ Полная функциональность в течение 14 дней

Учить больше Учить больше

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

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

С помощью WAN Killer вы можете настраивать тесты сетевой нагрузки вплоть до уровня пакетов, чтобы точно имитировать возможные условия, используя панель управления в наборе инструментов инженера для настройки необходимых параметров. Вы можете выбрать размер пакета, порты и пропускную способность канала, а также генерировать данные, эквивалентные любому проценту пропускной способности канала. Вы даже можете настроить целевые устройства, чтобы они отвечали на эхо-запросы, что позволяет использовать эхо-протоколы TCP или UDP для маршрутизации симметричного трафика.

СКАЧАТЬ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ Полная функциональность в течение 14 дней ССЫЛКА НА ПРОБНУЮ ПРОБНУЮ ЭЛЕКТРОННУЮ ПОЧТУ Полная функциональность в течение 14 дней

Учить больше Учить больше

10 лучших программных инструментов для генерации пакетов сетевого трафика (в 2022 г.)

Автор: Харрис Андреа

В мире сетей и ИТ мы обычно проектируем и внедряем сети и серверную инфраструктуру, считая само собой разумеющимся, что оборудование и приложения выдержат любые нагрузки. объем трафика.

Стресс-тестирование сети или ИТ-системы с большим объемом трафика даст нам важную информацию о поведении таких систем в нештатных условиях, таких как DDoS-атаки, внезапный приток трафика (например, во время передачи резервных копий по сети) и т. д.

Генераторы пакетов трафика — это аппаратные или программные инструменты, которые связаны с техническими аспектами трафика и его влиянием на сетевые и системные ресурсы.

Поскольку большая часть создания положительного пользовательского опыта — это ваш процент времени безотказной работы и отсутствие замедленного отклика, потери пакетов, перегрузки канала и т. д., измерение того, как всплески трафика и колебания пользовательской активности влияют на производительность системы и распределение ресурсов, является важным, и иногда упускается из виду, функция ИТ-операций.

Когда вы используете генератор пакетов сетевого трафика, вы пытаетесь выполнить изолированные тесты таким образом, чтобы исключить переменные и уменьшить роль генератора пакетов в создании узких мест и других проблем, связанных с трафиком. Комплексная система тестирования будет включать:

  • Источники трафика, инструменты или оборудование для оценки и приемники
  • Конкретное тестируемое устройство (DUT)
  • Физические соединения и барьеры между источниками трафика и DUT

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

У вас есть остальные компоненты, вот инструменты: Наш список 10 лучших программных генераторов пакетов сетевого трафика на рынке прямо сейчас. Список ниже включает в себя как бесплатные, так и коммерческие варианты.

Содержание

  • 1. Ostinato
  • 2. Ning (NMAP)
  • 3. TREX от Cisco
  • 4. SolarWinds WAN Killer
  • 5. Sender
  • 6. Packet.
  • 9. iperf2
  • 10. Emutex
  • Заключительные мысли

Эта компания стремится создать инструмент тестирования сети и генератор трафика для каждого инженера и ИТ-специалиста, но это невозможно в сегодняшнем технологическом климате. Что он действительно делает, так это предоставляет вам генератор пакетов с дружественным графическим интерфейсом и большой мощностью.

Этот бесплатный инструмент с открытым исходным кодом распространяется под лицензией 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) для создания реального решения для облачных высокоскоростных сетей.