Скрипт, думаю, будет полезен.
Он хорошо подходит, когда нужно оповещать пользователя о том, что с него сыплется спам.Могу посоветовать прикрутить к нему отправлялку писем пользователям.
Типа "Это автоматическое сообщение - у вас на компе вирус. Можете скачать антивирус с нашего фтп (ссылка), обновить его бесплатно с нашего фтп (ссылка)."
Ещё можно ссылку на пошаговое описание, как что делать.
А описание в картинках)
Думаю, это может ещё больше уменьшить звонки в суппорт.
Ещё могу посоветовать анализировать dns запросы типа MX - они тоже обычно генерятся именно спамописателями.
Вылавливать такие запросы тоже можно с помощью tcpdump.
Ещё в свое время заметил, что размер "окна" (параметр такой в ip или tcp заголовке) у спамописем равен 24000.
Помнится, даже после долгого наблюдения не заметил ничего другого, кроме спама, с таким окном.
Но это уже не так однозначно.
А ещё могу посоветовать:
ipfw add 1 skipto 4 tcp from table(x) to not me 25
ipfw add 2 skipto 4 tcp from any to not me 25 limit src-addr 10
ipfw add 3 deny tcp from any to not me 25
Просто не дает устанавливать больше 10 одновременных соединений)
Правило с limit - динамическое.
Параметры динамических правил можно настроить тут:
sysctl net.inet.ip.fw
А в table(x) кидать "официальных спаммеров")
Т.е. тех, кого не надо блочить.
Можно пойти более хитро)
Можно воспользоваться подсистемой netgraph - связать модуль для bpf и модуль для netflow.
И настроить так, чтобы получать статистику netflow о спаммерах.
А netflow уже хоть куда - хоть в БД, хоть в html)