Существует около миллиарда способов мониторинга трафика: если вы поставите компьютер между ними, вы сможете проанализировать все это. Вы можете использовать Ethereal (теперь Wireshark) или Snort, или, черт возьми, даже IPTraf. Вы даже не должны иметь машину между ними, если у вас есть концентратор в случайном режиме.
Проблема возникает во второй части. Как узнать, какой трафик является вредоносным, а какой нет? Метод, обычно используемый в корпоративных сетях, - это просто блокировать каждый порт по умолчанию и разрешать трафик только на определенные (как правило, безвредные) порты, но, очевидно, это грубый подход.
Одна вещь, которую вы можете сделать, это просто отслеживать активность и отбрасывать ее, когда она превышает определенный порог, но это предполагает, что ваш руткит достаточно туп, чтобы заполнить сеть трафиком, и это не всегда будет так.
То, что я делаю, является комбинацией двух. Я блокирую все порты и разрешаю только определенный трафик, и у меня маршрутизатор восходящего потока генерирует отчет о трафике ежедневно, который можно сравнить с предыдущими отчетами, чтобы показать возможное заражение (я использую Snort и Argus ... Мне больше нравится Ethereal / Wireshark для Активное тестирование, чем для долгосрочного мониторинга.)