![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Всем привет.
Есть дампы сетевых пакетов. Нужно их парсить. Но чем/кем? -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Вопрос в структуре того, что надо парсить. Можно ли эту структуру описать регулярными выражениями, или нужны грамматики.
Если достаточно регулярных выражений, то можно взять boost::regex. Если нужна грамматика, то любым грамматическим парсером (bison или boost::spirit). Парсер работает на уровне лексем, а побить бинарные данные на лексемы можно вручную. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
пакеты содержат в себе и непечатные символы. tr1::regex не адекватно реагирует. если перевести дамп в hex код, то тут вообще не понимаю что и как делать, и как отреагирует regex. вообще, хотелось бы использовать regex, чтоб не городить кучу кода. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
например :
http://ru.wikipedia.org/wiki/Base64 |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
mes, вы предлагаете мне конвертировать пакеты, а потом передавать в регулярки? ...хм, нужно пробовать.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Не знаю, как tr1::regex, а boost::regex можно заставить парсить бинарные данные - надо его специализировать не от char, а от своего класса. (Где то у меня что то такое было, поищу)
base64 - это не вариант, в нем несколько входных байтов дают несколько выходных символов. Будет сложно написать образец именно на уровне БАЙТОВ |
||||
|
|||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Нашел (см атач)
Использование:
Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |