Konjac. Язык для описания анализаторов протоколов Бэкенд, теория программирования
Устали разбирать сетевые протоколы на C++ и binpac? На каждый анализатор уходит много сил, а когда QA приходит с очередным багом, то вас бросает в дрожь от того, что снова придётся вернуться к громоздкому коду? Мы нашли решение этих проблем и хотим рассказать вам про Konjac.
Konjac ориентирован на скорость разработки анализаторов протоколов, на их читаемость и простоту поддержки. Konjac позволяет без участия программиста:
* описать разбор сетевых протоколов,
* связать несколько анализаторов с помощью механизма диспетчеризации,
* описать сборку фрагментов (например для IP и TCP),
* связать запросы и ответы для протоколов с клиент-серверной структурой передачи данных.
При отсутствии спецификации на протокол можно использовать konjac для реверс-инжиниринга образцов трафика.
Konjac является основой для системы разбора трафика, поэтому мы серьезно относимся к производительности и используем кодогенерацию на основе LLVM.
Работает в Positive Technologies, последние 2 года занимается DSL для описания анализаторов протоколов.
Увлекается компиляторами и геймдевом.