OSPF умер, но дело его живет: как я написал анализатор дампов на Rust, чтобы не гадать по логам

OSPF умер, но дело его живет: как я написал анализатор дампов на Rust, чтобы не гадать по логам

Хей, сетевики, есть кто живой? Если вы хоть раз пытались понять, почему в огромной multi-area сети внезапно перекосило таблицу маршрутизации, сеть не сходится, а стандартные логи железки выдают «ничего не знаю, я упал», то вы по адресу.

Работа в сетях приучает к одной мысли: сбой - это всегда архитектурная проблема. Но чтобы докопаться до этой проблемы в OSPF, иногда мало просто смотреть в show ip ospf. Иногда нужно лезть в бинарные дампы пакетов. Я написал OSPF Post-Mortem. Это инструмент, который берет сырой дамп (pcap/бинарник) и делает из него понятную картину мира. Он заточен под глубокий разбор LSA и поиск аномалий в состоянии соседства, которые Wireshark иногда проглатывает без пояснений. Написано на Rust + WASM. Это значит, что анализатор летает, не течет по памяти и его можно запускать прямо в браузере. Вместо того чтобы вручную раскрывать каждое дерево в GUI, тулза сразу подсвечивает странности в заголовках и теле OSPF-пакетов.

И сейчас мне нужна ваша помощь. Нормальными дампами никто не раскидывается в интернете, а scapy синтетика не всегда подходит для тестов и не может воспроизводить полный цикл. Проект сейчас в стадии «работает у меня на машине и на паре боевых дампов». Чтобы сделать его по-настоящему неубиваемым, мне нужна кровь и песок - ваши реальные дампы (или хотя бы фидбек по логике работы).

Что тулза умеет сейчас: Парсить бинарные дампы OSPF (Hello, DBD, LSU, LSAck). Работать с различными типами LSA. Выдавать структурированный отчет о том, что пошло не так в момент «смерти» протокола. Root cause с рекомендациями. Строить простой граф с узлами. Экспорт.

В планах: легчайшая CLI, добавление HSRP/VRRP и BGP протоколов.

Призываю тех, кто «в поле». Если у вас завалялся странный дамп падения OSPF или вы просто хотите потыкать палочкой в софт на Rust, залетайте

Гит:

Буду рад любому issue, критике в духе «зачем это нужно, если есть tcpdump» или просто поддержке от коллег по цеху. И заранее спасибо вам!
P.S. Да, я знаю, что это узкая ниша. Но лучше иметь один острый скальпель, чем швейцарский нож, который тупится об первый же нестандартный LSA.

1
Начать дискуссию