Jump to content

Recommended Posts

Posted

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

Posted

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.

Posted

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.

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

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

Да.

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

 

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

Edited by shafiev
Posted

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

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

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

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

 

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

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

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

 

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

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

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

 

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

Posted

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

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

  • 2 weeks later...
  • 2 weeks later...
Posted

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

Posted

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

Синтаксис 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.

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.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.