Здравствуйте.
Можно ли в iptables реализовать, чтобы считать количество проходящих пакетов с определенным портом источника и/или портом получателя, и/или определенным адресом источника/получателя и отбрасывать, к примеру, каждый десятый пакет? Если да, то подскажите, пожалуйста, как или в каком направлении вести поиски. К сожалению, не имею времени просматривать всю возможную документацию по iptables.
Заранее благодарю за помощь.
Отбрасывание пакетов по определенному алгоритму в iptables
Спасибо! Там полусается можно задать четкую закономерность, а нет ли способа рандомизировать отброс пакетов (нужно для проведения опыта)?
Username, в хорошо заданном вопросе содержится ответ. (См. «Срабатывание критерия с заданной вероятностью»).
UPDATE: Соответствие random, оказывается, было в старых версиях iptables. Сейчас вместо него — statistic:
[console]
man iptables
...
statistic
This module matches packets based on some statistic condition. It supports two distinct modes settable with the --mode option.
Supported options:
--mode mode
Set the matching mode of the matching rule, supported modes are random and nth.
--probability p
Set the probability from 0 to 1 for a packet to be randomly matched. It works only with the random mode.
--every n
Match one packet every nth packet. It works only with the nth mode (see also the --packet option).
--packet p
Set the initial counter value (0 <= p <= n-1, default 0) for the nth mode.
[/console]
О, это уже очень интересно, особенно с вероятностью. Спасибо! )) Пока буду в этом направлении рассматривать.
З.Ы. А можно ли в iptables как нибудь вносить изменения в проходящие пакеты (не меняя сам код программы)? Можно ли написать какой-нибудь скрипт в самом iptables, который бы динамически менял правила или что-то делал с пакетами?
З.Ы. А можно ли в iptables как нибудь вносить изменения в проходящие пакеты (не меняя сам код программы)? Можно ли написать какой-нибудь скрипт в самом iptables, который бы динамически менял правила или что-то делал с пакетами?
Поясните, пожалуйста, что должно получиться в итоге.
Поясните, пожалуйста, что должно получиться в итоге.
Я полагаю, что топик-стартер делает некую модель "плохой" сети передачи данных, где теряются пакеты и где высока вероятность их не только полной потери, но и искажения любого бита. Ну и потом будет смотреть, как будут работать отдельные программы на такой "сети". Не совсем понимаю, зачем это нужно моделировать, когда всё это прекрасно рассчитывается по не самым сложным алгоритмам для сети любой сложности. Просчитать свертку по алгоритму БПФ, или даже её тупо проинтегрировать - это не самая сложная задача. Но изящная...
Cruiser78 верно понял задачу:), смоделировать "плохую" сеть, но нужно именно на реальной сети, а не математически. Рассчеты некоторые уже сделаны, но нужно показать на примере, так сказать.