Blog

Быстрое определения наличия подстроки (или регулярного выражения) с помощью re2c

Утилита re2c ( http://re2c.org/ ) транслирует регулярные выражения в код на языке С. В некоторых случаях таким способом можно добиться существенного прироста производительности обработки строк по сравнению с традиционными подходами.

Пример использования re2c для одновременного поиска нескольких подстрок. Подстроки ищутся не в zero-terminated строке, а в блоке произвольных байт. Блок задается адресом начала и длиной:

Подделка SYN-ACK ответа и вычисление контрольной суммы TCP-пакета

Для имитации установления TCP-соединения (3-х этапного рукопожатия) можно воспользоваться простым алгоритмом.

На пакет от клиента с выставленным SYN-битом с сервера отправляется тот же пакет с выставленными SYN и ACK-битами. Ждем от клиента подтверждения с битом ACK и все, можно считать что с точки зрения клиента соединение установлено. Такой трюк можно использовать при zero-copy обработке сетевого трафика. Псевдокодом это может быть описано так:

Subscribe to RSS - Blog
dmesg