Мне нужно измерить влияние IPTables / inline Snort на производительность, поэтому мой тестовый сервер должен быть хорошо загружен.
К сожалению, аппаратный генератор трафика недоступен, поэтому соединения должны быть реальными - например, приходят с других машин (есть некоторые в той же сети) и используют какой-то демон. Это не похоже на отправку тысяч пакетов, чтобы увидеть, как они отклоняются и отбрасываются, соединения должны длиться более минуты и передавать некоторые данные.
Есть ли хорошие решения для имитации тысячи длинных подключений с машины Linux?
Для создания большой нагрузки вам не нужен аппаратный генератор трафика, достаточно любого инструмента для создания пакетов. Я опубликую несколько ссылок на некоторые инструменты, которые я использовал для аналогичных функций.
Hping http://www.hping.org/ и руководство для вашего случая http://www.security-forums.com/viewtopic.php?p=43074
Немезида http://nemesis.sourceforge.net/
Ftester http://www.inversepath.com/ftester.html
Wget http://www.gnu.org/software/wget/ Скрипт на открытие 500-2000 подключений
Я мог бы придумать ряд других способов расширить вышеизложенное, но было бы идеально, если бы мы знали, какие серверы у вас есть для фактических тестовых входов в систему. Я мог видеть это с помощью простой базы данных (сервера) и сценария входа в систему (клиента).
Я бы, вероятно, просто установил легкий HTTP-сервер, например nginx. Пусть он обслуживает большой файл, который продлит соединение некоторое время, а затем просто используйте любой из стандартных утилит тестирования HTTP, например ab
.
Если вы действительно хотите протестировать IPTables, вам также понадобится много разных исходных IP-адресов. Но если у вас нет очень сложный набор правил Я бы не стал беспокоиться об этом шаге - 2000 подключений для iptables ничего не стоит.
Ммм, скрипт netcat? Одним из моих первых обращений к "Симулятору трафика" в Google было это здесь (пожалуйста, не бей).
Есть ли у вас какие-то конкретные протоколы? Существует множество нагрузочных тестеров для таких вещей, как производительность SMB или SQL-запросы, но в вашем вопросе даже не говорится, нацелены ли вы только на TCP, или у вас есть значительные нагрузки UDP, многоадресный трафик или другие довольно специфические вещи.
ИксЧариот, http://www.ixchariot.com/
Я его не продаю. Я не получаю компенсации за его продажу. Однажды я работал на его производителя (1998 г.) и написал для него первый учебный класс.
Вы должны иметь возможность лицензировать его на срок использования через одного из партнеров IxChariot на время вашего тестирования. Легко масштабируется до 10 000 одновременных подключений и прост в использовании для тех, у кого есть опыт работы в сети или тестирования производительности.