Новую тему создавать не буду, задам вопрос здесь.
DES-3200-28
Boot PROM Version : Build 4.00.002
Firmware Version : Build 4.32.B006
Hardware Version : C1
Тестировал я работу новой прошивки, в частности PCF ACL.
Случай 1:
Задача простенькая: Фреймы с определенным MAC dst отправлять на Mirror порт.
MAC dst = 00 1d 72 1b f5 e2
пример фрейма:
Код:
0000 00 1d 72 1b f5 e2 00 1b 21 a8 60 04 08 00 45 00 ..r..... !.`...E.
0010 00 77 aa 71 00 00 40 11 84 4a 0a 7d 9b 01 0a 7d .w.q..@. .J.}...}
0020 9b bf 00 35 04 22 00 63 21 94 e2 91 81 80 00 01 ...5.".c !.......
0030 00 01 00 02 00 00 0b 64 6f 77 6e 6c 6f 61 64 33 .......d ownload3
0040 33 32 05 61 76 61 73 74 03 63 6f 6d 00 00 01 00 32.avast .com....
0050 01 c0 0c 00 01 00 01 00 00 02 52 00 04 52 c0 5f ........ ..R..R._
0060 88 c0 18 00 02 00 01 00 02 7c 15 00 06 03 6e 73 ........ .|....ns
0070 32 c0 18 c0 18 00 02 00 01 00 02 7c 15 00 06 03 2....... ...|....
0080 70 6e 73 c0 18 pns..
Пишем правило (матчим первые 4 байта):
Код:
create access_profile profile_id 4 profile_name PCF packet_content_mask offset_chunk_1 0 0xFFFFFFFF
config access_profile profile_id 4 add access_id 1 packet_content offset_chunk_1 0x001d721b mask 0xFFFFFFFF port 1-24 mirror
Смотрим WhireShark'ом, ничего с Mirror порта не приходило...
Упрощаем правило (матчим первые 2 байта):
Код:
create access_profile profile_id 4 profile_name PCF packet_content_mask offset_chunk_1 0 0xFFFF
config access_profile profile_id 4 add access_id 1 packet_content offset_chunk_1 0x001d mask 0xFFFF port 1-24 mirror
Странно, но все работает!
Случай 2:
фрейм тотже:
Код:
0000 00 1d 72 1b f5 e2 00 1b 21 a8 60 04 08 00 45 00 ..r..... !.`...E.
0010 00 77 aa 71 00 00 40 11 84 4a 0a 7d 9b 01 0a 7d .w.q..@. .J.}...}
0020 9b bf 00 35 04 22 00 63 21 94 e2 91 81 80 00 01 ...5.".c !.......
0030 00 01 00 02 00 00 0b 64 6f 77 6e 6c 6f 61 64 33 .......d ownload3
0040 33 32 05 61 76 61 73 74 03 63 6f 6d 00 00 01 00 32.avast .com....
0050 01 c0 0c 00 01 00 01 00 00 02 52 00 04 52 c0 5f ........ ..R..R._
0060 88 c0 18 00 02 00 01 00 02 7c 15 00 06 03 6e 73 ........ .|....ns
0070 32 c0 18 c0 18 00 02 00 01 00 02 7c 15 00 06 03 2....... ...|....
0080 70 6e 73 c0 18 pns..
Много писать не буду, но почему-то, вместо правил с нормальными оффсетами, работают следующие правила (совпадения по 4м байтам не работают, поэтому используем 2 байта):
Код:
create access_profile profile_id 4 profile_name PCF packet_content_mask offset_chunk_2 2 0xFFFF offset_chunk_3 3 0xFFFF
config access_profile profile_id 4 add access_id 1 packet_content offset_chunk_2 0x21A8 mask 0xFFFF offset_chunk_3 0x800 mask 0xFFFF port 1-24 mirror
Оффсет
2 и
3.... я думал что оффсет в байтах, однако по факту оффсет в блоках по 4 байта...
Очень жду Вашего ответа.