Какие есть аналоги tcpdump с поддержкой отлова пакетов по шаблону данных?
Мне необходимо отсеивать пакеты по определенному шаблону (например, с определенными начальными двумя байтами данных). Погуглив, ничего не нашел по поводу отсеивания трафика по шаблонам данных в tcpdump. Посмотрите здесь, 11 страница.  Вкратце, релевантный синтаксис Berkeley packet filter таков: protocol[start:count]=0xHEXTEMPLATE
пример для "GET " в начале HTTP-сообщения (точнее, в начале поля данных TCP):tcp[20:4] = 0x47455420Если в tcpdump нет такой возможности, подскажите, пожалуйста, альтернативные снифферы, желательно не тяжелые и без гуя (для использования на сервере с CentOS). В tcpdump такая возможность (если я правильно понял вашу проблему) есть, но рекомендую обратить внимание на tshark, консольный вариант wireshark. Для захвата трафика они используют bpf-фильтры, фильтры для отображения трафика у них можно настроить более гибко, на мой взгляд.
Еще один вариант решения вашей проблемы - захватить весь трафик (или с грубой фильтрацией), если это возможно (т.е. интенсивность трафика невелика) при помощи tcpdump и отфильтровать при помощи фильтров отображения (display filters) в wireshark/tshark.
Попробуйте wireshark, может поможет