LINUX.ORG.RU

C


345

5

Всего сообщений: 3

DPI для любопытствующих

 , ,

Движок DPI на C: от захвата пакетов до классификации протоколов.

Мне было интересно узнать, какие байты бегают по моей домашней сети. Я не нашёл простого инструмента, который можно было бы собрать за вечер и понять от начала до конца — и пришлось написать свой, на C. Эта статья — рассказ о том, как работает Deep Packet Inspection.

Код проекта: gitflic.ru/wirewalk/tiny-dpi-engine

Эпиграфы к разделам — цитаты из мультика «Шрек». (Не то чтобы я был фанат, но история уж очень подходящая. Если у вас есть идея что использовать в качестве источника цитат для следующей статьи — я открыт к предложениям!).

( читать дальше... )

wirewalk
()

Выделяй память как Линус: инструкция

 , ,

Предположим, у нас есть библиотека на Си. А в этой библиотеке - какая-то структура, детали реализации которой мы хотим скрыть и поэтому удалили из публичных заголовочных файлов. Как правильно выделить память под экземпляр этой структуры? Данная статья пытается ответить на этот вопрос.

( читать дальше... )

Lrrr
()

Ant: создание среды выполнения JavaScript за один месяц

 , , , ,

Это перевод поста building a javascript runtime in one month от второго января 2026 года.

TLDR: Я создал Ant, небольшую (2 МБ) среду выполнения JavaScript. Полный исходный код, а также тесты и документацию можно найти на моем github.

Когда я начал этот проект в начале ноября, у меня была простая идея: а что, если я смогу создать движок JavaScript, достаточно маленький, чтобы его можно было встроить в программу на C, но достаточно полный, чтобы на нём можно было запускать реальный код? Что-то, что можно было бы распространять, не таская с собой сотни мегабайт V8 или Node. Я уже пробовал это раньше с минимальными копиями Deno, но этого было недостаточно.

Я не думал, что это займет месяц. Я не думал, что это будет возможно за месяц. Но вот в чём дело – когда создаёшь что-то без сроков, ты просто продолжаешь работать.

( читать дальше... )

dataman
()