Небольшой php скрипт, для формирования списка спам IP адресов. Данные получает из /var/log/messages (FLOOD). Скрипт формирует список из полей SRC и сохраняет в файл /etc/ban.txt
Формирование Ban листа по данным из /var/log/messages с пометкой FLOOD
29.11.2016
<?php define('FILE_IN', '/var/log/messages'); define('FILE_OUT', '/etc/ban.txt'); $aLines = file(FILE_IN); $aIP = array(); foreach($aLines as $sLines) { if(strpos($sLines, 'FLOOD') !== FALSE) { $sPattern = '|SRC=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|'; preg_match_all($sPattern, $sLines, $aMatches, PREG_SET_ORDER); $aIP[] = $aMatches[0][1]; } } $aIP = array_unique($aIP); file_put_contents(FILE_OUT, file_get_contents(FILE_OUT)."\n".implode("\n",$aIP));