Проект был создан в 2012 году с целью создания открытой замены коммерческой платформы обработки сетевых пакетов, способной масштабироваться до уровня объёмов трафика AOL. В итоге внедрение новой системы в AOL позволило добиться полного контроля за инфраструктурой за счёт развёртывания на своих серверах и значительно снизить издержки — применение Moloch для полного захвата трафика во всех сетях AOL по затратам обошлось в сумму, аналогичную той, что при применении коммерческого решения раньше тратилась на захват трафика только в одной сети. Система может масштабироваться для обработки трафика на скоростях в десятки гигабит в секунду. Объём хранимых данных ограничивается только размером имеющегося дискового массива. Метаданные о сеансах индексируются в кластере на базе движка Elasticsearch.
Moloch включает инструменты для захвата и индексации трафика в штатном формате PCAP, а также для быстрого доступа к проиндексированным данным. Для анализа накопленной информации предлагается web-интерфейс для навигации, поиска и экспорта выборок. Также предоставляется API, позволяющий передавать в сторонние приложения данные о захваченных пакетах в формате PCAP и разобранные сеансы в формате JSON. Применение формата PCAP существенно упрощает интеграцию с существующими анализаторами трафика, такими как Wireshark.
Moloch состоит из трёх базовых компонентов:
- Система захвата трафика — многопоточное приложение на языке Си для мониторинга трафика, записи дампов в формате PCAP на диск, разбора захваченных пакетов и отправки метаданных о сеансах (SPI, Stateful packet inspection) и протоколах в кластер elasticsearch. Возможно хранение PCAP-файлов в зашифрованном виде.
- Web-интерфейс на базе платформы Node.js, который запускается на каждом сервере захвата трафика и обрабатывает запросы, связанные с доступом проиндексированным данным и передачей PCAP-файлов через API.
- Хранилище метаданных на базе Elasticsearch.
В web-интерфейсе предусмотрено несколько режимов просмотра — от общей статистики, карты соединений и наглядных графиков с данными об изменении сетевой активности до инструментов для изучения отдельных сеансов, анализа активности в разрезе используемых протоколов и разбора данных из PCAP-дампов.




- Осуществлён переход на использование бестипового формата для индексации в Elasticsearch.
- Добавлены примеры фильтров захвата трафика на языке Lua.
- Реализована поддержка 46-черновой редакции протокола QUIC.
- Переработан код для разбора протоколов, появилась возможность написания парсеров для протоколов уровня Ethernet и IP.
- Предложены новые парсеры для протоколов arp, bgp, igmp, isis, lldp, ospf и pim, а также парсеры неизвестных протоколов unkEthernet и unkIpProtocol.
- Добавлена опция для выборочного отключения парсеров (disableParsers).
- В интерфейсе добавлена возможность показа любого целочисленного поля на графиках, выставленного на странице с настройками.
- Графики и заголовки теперь могут закрепляться и не смещаться при прокрутке страницы.
- Большая часть навигационных панелей по умолчанию скрыта или свёрнута.
Источник: http://www.opennet.ru/opennews/art.shtml?num=52927