контролировать скорость передачи сетевых пакетов по IP

контролировать скорость передачи сетевых пакетов по IP

моя проблема в том, что я получил отчет о том, что мой IP был использован в DOS-атаке. Проблема в том, что я не знаю, какой компьютер заражен, и атака больше не активна.

Существует ли простой инструмент Linux для моего маршрутизатора (работающего под управлением Fedora), который будет подсчитывать скорость передачи пакетов на локальный IP-адрес и, если она превышает выбранную мной константу, запустит мой скрипт оболочки?

Обратите внимание, что меня также интересуют пакеты, сгенерированные с локального хоста (на случай, если сам сервер был взломан).

решение1

Итак, я нашел одно решение с использованием iptables:

# create new chain for every local ip we wanna monitor
iptables -N ip10     
# forward traffic from monitored IP to it's chain "ip10"
iptables -A FORWARD -i myLan -s 192.168.2.10 -o myWan -j ip10  
# trafic from other IP's we trusted we just accept
iptables -A FORWARD -i myLan -o myWan -j ACCEPT
# here we have even better thing than I asked for 
# we can ban the DOS attack before it gets out
# in following line we set maximum 100 packet per second
iptables -A ip10 -m limit --limit 100/s --limit-burst 300 -j ACCEPT
# here we can directly log if above limit is breached
# log will be in /var/log/message and it will contains IP src+dst, src mac and other info
# note limit 3 msg per minute is important to not have too big log file
iptables -A ip10 -m limit --limit 3/m --limit-burst 10 -j LOG --log-prefix 'mylog:' --log-level 4
# finally packets over limit will be discarded
iptables -A ip10 -j DROP

Чтобы увидеть отправленные пакеты и их размер с одного IP, можно вызвать:

iptables -L ip10 -vxn

вам нужно будет сделать это в каком-то скрипте и пересчитать в пакеты в секунду, если интересно

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

iptables -A OUTPUT

протестировано на Fedora 18. Я попробовал атаковать свой другой компьютер, и пакеты действительно были остановлены :)

решение2

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

Связанный контент