![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
![]()
Пишу небольшой анализатор IP-пакетов, который перехватывает пакеты и выполняет над ними некоторые действия. Я определил структуры для IP-заголовка и для всего пакета в целом. Структура пакета состоит из IP-заголовка и массива данных. Пакет из процедуры sniff возвращается, вроде бы, корректный, во всяком случае адреса отправителя и получателя похожи на настоящие. Проблема с анализом данных.
Как определить размер этих данных? Этот размер я сейчас вычисляю как разность между значением поля IPHeader.length и размером IP-заголовка. Однако при выводе на экран такого количества байт из массива IPPacket.data выводится много мусора. Как точно определить размер данных? Правильно ли я сохраняю эти данные в структуре и обращаюсь к ним? Еще я хочу убедиться в корректности принятых данных. По каким сигнатурам можно это сделать? В PE-файлах есть сигнатуры MZ и PE, а в IP-пакетах есть, вроде бы, поля с версией TCP-протокола. Какие смещения у этих полей? Код:
|
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
![]()
Вот как выглядит распечатывание IP-заголовков.
|
![]() |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
![]()
Ограничил число выводимых байт данных 100.
Все равно выводится мусор, но иногда печатается что-то похожее на корректные данные. |
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 11.11.2016
Сообщений: 261
|
![]()
Прикрутил 16ричный дамп буфера. Видел в дампе HTTP-запросы, то есть в packet->data действительно данные.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 22.08.2016
Сообщений: 5
|
![]()
Блин, а Вы на заказ делаете? Мне необходимо выполнить подобного рода работу на производстве: https://www.konsom.ru/solutions/info...i-dannyh-tsod/ вот пытаюсь найти специалиста.
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Зачем придумывать свои определения заголовков, если они уже определены?
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 22.08.2016
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить данные из Frame | Shouldercannon | Общие вопросы Delphi | 4 | 24.11.2017 23:15 |
Получить данные с curl | rustrek | PHP | 1 | 10.01.2016 02:57 |
получить данные с бд | megostudent | БД в Delphi | 5 | 14.05.2013 11:30 |
получить данные из Warcraft 3 | frantic150 | Общие вопросы C/C++ | 8 | 09.06.2011 18:53 |
Получить данные из WMF | AnTe | Мультимедиа в Delphi | 0 | 18.01.2011 08:14 |