Анализ бинарных данных HEX-OCT-BIN. Как определить формат?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Анализ бинарных данных HEX-OCT-BIN. Как определить формат?

Сообщение xenomorph » 19.06.2006 (Пн) 20:49

Привет Всем!

Вопрос:

Пишу анализатор пакетов с возможностью реставрации.
Изучаю RFC 791 (протокол IP).

В нём есть поля:

==========================
Цитата:
==========================
Version: 4 bits

The Version field indicates the format of the internet header. This
document describes version 4.

IHL: 4 bits

Internet Header Length is the length of the internet header in 32
bit words, and thus points to the beginning of the data. Note that
the minimum value for a correct header is 5.
==========================

Проблема в том что в реальном пакете данные
отображаються в 16-ном формате, ОДНИМ ЧИСЛОМ.

т.е. "45"

а реальные значения внутри:

Version: 4
Length: 20

(данные 100% - получено с помощью Ethereal)

Это число "45" содержит в себе и "4" и "20",
вот только я НЕ ПОНИМАЮ !!! КАК !!!

Пожалуйста помогите!
Очень буду признателен за кусок кода который поможет выковырять
значения Version и Length из этого числа!
--
Огромное спасибо!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.06.2006 (Пн) 20:56

xenomorph, ты правда не умеешь читать, или прикидываешься?

Internet Header Length is the length of the internet header in 32 bit words

Сколько у нас байтов в пяти 32-битных словах?
Изображение

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Ку.

Сообщение xenomorph » 19.06.2006 (Пн) 21:09

To tyomitch -
я самоучка, и не очень шарю в некоторых вопросах.
(я математику никогда не изучал. Информатику тоже. Без вранья.)

Я чего-то не понимаю здесь - пожжжжжжалуйста объясни!

В этой сорокпятке 2 параметра. Это 100%.

Я уже реально 2 часа играюсь с калькулятором ...
Bin - Hex ///

Я НЕ въезжаю .... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Пожалуйста объясни!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.06.2006 (Пн) 21:15

Блин. Сможешь калькулятором разбить число &H45 на две половины по 4 бита?
Можешь использовать для этого свой бессмертный код ;-) :lol:
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.06.2006 (Пн) 21:50

xenomorph, твоя настойчивость достойна уважения, но нельзя же все изучать методом тыка? Почитай теорию, самому же проще будет.
Lasciate ogni speranza, voi ch'entrate.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 19.06.2006 (Пн) 22:28

!!!

Да я тупой.

Не понимаю ...

Общее число в бинарной системе - 01000101.

0100 - первое число = 4 - Версия протокола.
0101 - второе число. Раво 5. Но НЕ 20. Откуда 20??? (Почему длинна пакета равна 20 :cry: )???

Объясните пожалуйста!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.06.2006 (Пн) 23:11

tyomitch писал(а):xenomorph, ты правда не умеешь читать, или прикидываешься?

Internet Header Length is the length of the internet header in 32 bit words

Сколько у нас байтов в пяти 32-битных словах?
Изображение

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 20.06.2006 (Вт) 9:29

xenomorph
32 / 8 * 5 = 20

В одном байте 8 бит, этому обучали еще в школе.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Ку.

Сообщение tyomitch » 20.06.2006 (Вт) 11:42

xenomorph писал(а):я самоучка, и не очень шарю в некоторых вопросах.
(я математику никогда не изучал. Информатику тоже. Без вранья.)
Изображение

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 20.06.2006 (Вт) 15:25

Огромное спасибо Antonariy!
Его 3 строчки стоят пяти коментов гур!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 20.06.2006 (Вт) 16:41

В мат часть вроде бы въехал.

1. Блин. Сможешь калькулятором разбить число &H45 на две половины по 4 бита?
2. Можешь использовать для этого свой бессмертный код


1 - сделал и понял.
2 - тот код изначально неверен, он даёт неправильный результат.

Как провести эту операцию БЕЗ помощи калькулятора?

На входе - 69
На выходе - 4 и 5.

2 tyomitch:
Помоги пожалуйста! Я уже тут полностью отчаился!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 16:46

В том же топике, где твой бессмертный код, в самом низу приведён правильный. (Две строчки.)
Только константу 256 надо заменить на другую. (Сам отгадай на какую, либо жди подсказки от Antonariy ;-))
Изображение

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 20.06.2006 (Вт) 19:02

Не ПОНИМАЮ.
Я уже 2-ой день Мучаюсь!

Я сильно ТУПОЙ!

'=========================
'Setting the Array
ConHead2(l_Index) = x \ 256
ConHead2(l_Index + 1) = x Mod 256
'=========================
1. Мне нужен тип Long\Int, а не Byte.
2. Какая из 2х констант не та?
3. Что там должно быть?

Так трудно помочь мне написать 1 строчку?

Я уже который день бьюсь над этой проблемой!
ИМХО есть вещи в которых имеет смысл посылать на МСДН и
играть мышцами кто насколько крут.

Если я на этот форум и обращаюсь то только в случае
крайней необходимости!

=======================
Я ДЕЙСТВИТЕЛЬНО НЕ ПОНИМАЮ!!!
=======================

Судя по постам - решение простое и очевидное для
многих но не для меня.

Да я понимаю человека надо ткнуть носом в отсутствие
базовых знаний на М и И.

Где МСДН и гуугл я тоже знаю - бвл и там и там неоднократно.
Но я думаю что граница между помощью и издевательством некоторыми людми уже нарушена.

Мне жутко обидно и больно что часть советчиков на этом форуме
то ли получает удовлетворение от того что играет в "собачку" то ли Х.3.
... занимаються энерго-вампиризмом \ самоудовлетворением от
осознания собственного превосходства ...

После ответов г.н.
tyomitch
у меня всякая охота
пользоваться этим форумом напрочь отпадает!

==============================================
Я настолько злой, что мне уже всё равно получу я тут совет или нет.
==============================================

Но до чего всё таки обидно -
когда ответ на поставленый тобой вопрос составляет [внимание!]
"3 строчки" - но при этом советчик вместо того чтобы помочь,
начинает играть с тобой в кошки-мышки - оставляя пол десятка
коментариев не по теме ...
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 19:11

Ну ё-моё. Тебя пытаются научить. Пропущенным тобой М и И.
Но нет, тебе этого не надо. Тебе вынь да положь готовый ответ.
Чтобы в следующий раз, когда в задаче изменится константа, ты пришёл на форум просить помощи в очередной раз. Вместо того, чтобы найти в себе смелость научиться думать самому.
Сказать "Я сильно ТУПОЙ" и отказаться думать самому -- никакого достижения в этом нет.
Ладно, вопрос ребром. Тебе интересно решить эту задачу? или просто показать тебе недостающую строчку, чтобы через месяц ты вернулся с вопросом "а как разделить 32 бита на две половинки по 16?"
Самому-то не стыдно, а?
Изображение

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 21.06.2006 (Ср) 15:28

Ответ ребром:

Три _необходимые_ строчки кода.

или просто показать тебе недостающую строчку, чтобы через месяц ты вернулся с вопросом "а как разделить 32 бита на две половинки по 16?"


т.к.

Очень буду признателен за кусок кода который поможет выковырять
значения Version и Length из этого числа!


а не:

... пытаются научить. Пропущенным тобой М и И.
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.06.2006 (Ср) 17:04

в качестве особо изощренного издевательства здесь нужно поставить ссылку на раздел "Работа"...

UPD: <- 1337...
Быть... или не быть. Вот. В чём вопрос?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.06.2006 (Ср) 21:54

uhm, http://bash.org/?654674 :-)


xenomorph,
Код: Выделить всё
Version = x \ 16
Length = x Mod 16
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 22

    TopList