Jump to content
Калькуляторы

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

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

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

Share this post


Link to post
Share on other sites

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

Да.

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

 

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

Edited by shafiev

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

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

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Сомневаюсь что кто-то бесплатно поделится готовим и годным решением в синтаксисе 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, потом уж даунгрейдить, если будут какие-то проблемы

Share this post


Link to post
Share on other sites

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

Edited by Tamahome

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.