Перейти к содержимому
Калькуляторы

L7 практические примеры Поделитесь примерами regexp для mikrotik

Коллеги, подскажите актуальные L7 регэкспы для матчинга трафика( Skype, торренты, youtube и тд и тп).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

uTP

v1

/*

* syn - 14 bytes

* 'udp[17] = 2 and udp[18] = 4 and udp[21:2] = 0 and udp[23] = 0 and udp[24] = 8 and udp[25:4] = 0 and udp[29:4] = 0'

* 41 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 41 and udp[25:2] = 0x0204 and udp[29:4] = 0x00000008 and udp[33:4] = 0 and udp[37:4] = 0)'

*/

/*

* rst - 4 bytes

* 'udp[17] = 0 and udp[18] = 3'

* 31 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 31 and udp[25:2] = 0x0003)'

*/

 

 

v2

/*

* syn - 14 bytes

* 'udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x40 and udp[1] = 2 and udp[18:2] = 0 and udp[20] = 0 and udp[21] = 8 and udp[22:4] = 0 and udp[26:4] = 0'

* (udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x40) => udp[0] = 0x41

* 38 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 38 and udp[8:2] = 0x4102 and udp[26:4] = 0x00000008 and udp[30:4] = 0 and udp[34:4] = 0)'

*/

/*

* rst - 4 bytes

* 'udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x30 and udp[1] = 0'

* (udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x30) => udp[0] = 0x31)

* 28 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 28 and udp[8:2] = 0x3100)'

*/

 

это в синтаксисе tcpdump.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

uTP

v1

/*

* syn - 14 bytes

* 'udp[17] = 2 and udp[18] = 4 and udp[21:2] = 0 and udp[23] = 0 and udp[24] = 8 and udp[25:4] = 0 and udp[29:4] = 0'

* 41 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 41 and udp[25:2] = 0x0204 and udp[29:4] = 0x00000008 and udp[33:4] = 0 and udp[37:4] = 0)'

*/

/*

* rst - 4 bytes

* 'udp[17] = 0 and udp[18] = 3'

* 31 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 31 and udp[25:2] = 0x0003)'

*/

 

 

v2

/*

* syn - 14 bytes

* 'udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x40 and udp[1] = 2 and udp[18:2] = 0 and udp[20] = 0 and udp[21] = 8 and udp[22:4] = 0 and udp[26:4] = 0'

* (udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x40) => udp[0] = 0x41

* 38 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 38 and udp[8:2] = 0x4102 and udp[26:4] = 0x00000008 and udp[30:4] = 0 and udp[34:4] = 0)'

*/

/*

* rst - 4 bytes

* 'udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x30 and udp[1] = 0'

* (udp[0] & 0x0f = 1 and udp[0] & 0xf0 = 0x30) => udp[0] = 0x31)

* 28 = udp hdr len (8) + upd pkt data len

* upd header included:

* '(udp[4:2] = 28 and udp[8:2] = 0x3100)'

*/

 

это в синтаксисе tcpdump.

Это из своего опыта я так понимаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это из своего опыта я так понимаю?

Да.

http://www.netlab.linkpc.net/forum/index.php?topic=804.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это из своего опыта я так понимаю?

Да.

http://www.netlab.li...php?topic=804.0

 

Неплохо , а где еще актуальные могут валяться?, просто хочу знать что народу трэба )

Изменено пользователем shafiev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Иван, а вы не могли бы написать о своем творении в рассылку?

Может кто-то закомитит в систему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Системе это нужно как пятое колесо телеге, этому место в портах.

Вон ng_ipacct в портах висит, хотя штука более универсальная.

В ядро вообще берут самые универсальные вещи, а не столь специфичные.

Кажется ng_patch и тот еле протащили, уж куда универсальнее.

 

А коммитеры там ваще обленились: http://www.netlab.li...php?topic=781.0

висит уже года два, всё ждут когда я им документацию переведу и код дооформлю согласно стилю.

Ну я сделаю, как будет время и желание, мне то торопится некуда.

 

Ну или вот: http://netlab.linkpc...d/tmp/amdtemp.c

уникальный драйвер (в других ОС так же хреново как и во фре щас, я переписывал по спекам почти с нуля), которому плевать какой АМД проц вставлен, он ещё лет 5 будет температуру показывать на всех новых процах амд, совсем без правок кода.

А они там по старинке идентификаторы процов по одному добавляют.

 

Вот учили бы лучше русский, давно бы всё закоммитили :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошо, пусть будет в портах.

 

Вы знаете пословицу - "Лучшее - враг хорошего"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как нить займусь, обычно у меня настроение появляется что то объяснять через транслейтор вместе со снегом, до НГ держится :)

Прошлые года у меня переезды были и не до этого было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а для тех кто в танке можно пояснить как это засунуть в тик L7?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

эт я понял.

 

менять синтаксис надо и как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сомневаюсь что кто-то бесплатно поделится готовим и годным решением в синтаксисе iptables к примеру..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сомневаюсь что кто-то бесплатно поделится готовим и годным решением в синтаксисе iptables к примеру..

Ivan_83 уже поделился. Всё же тривиально. Просто компиляете правила tcpdump в bytecode и грузите их в BPF модуль iptables

 

tcpdump -i INTERFACE -ddd 'TCPUMP_FILTER' > filter.bpf

iptables -t TABLE -I CHAIN -m bpf --bytecode-file filter.bpf -j ACTION

 

куда уж проще-то?

 

Старые ядра использовать не советую для этого дела. Я бы начал с 3.16.5, потом уж даунгрейдить, если будут какие-то проблемы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под готовим решением понималось нечто больше ,чем только торрент )

Изменено пользователем Tamahome

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

большинство протоколов не требуют L7 анализа. Собственно, торрент из тяжёлых только и требует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну или оффсеты пересчитать под свою утилиту, если они отличаются.

Синтаксис tcpdump мне нужен был только для отладки, чтобы убедится что сишный код пакеты видит также как и должен, да и наблюдать проще было через tcpdump чем ещё дописывать специально для этого код.

Сами оффсеты и сигнатуры я получил путём анализа кода основного торрент клиента. Это окончательный (оптимизированный) вариант, предварительные содержали больше сравнений, потом я их сгруппировал, местами получилось одно сравнение 4 байта вместо 4-х одно байтовых или битовых. Собственно то что идёт после слов "upd header included" и есть оптимизированный вариант + заголовок юдп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.