Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Cетевые протоколы и технологии

Cетевые протоколы и технологии TCP/IP стек

Ответ
 
Опции темы Опции просмотра
Старый 19.09.2020, 20:02   #1
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?
Т.е. как есть еще и с энтерпрайзом. Мне обычно надо было организовать опрос пары-тройки OID, причем в качестве клиента. Т.е. вовсе не надо было разводить вот это вот всё от и до.
Возникла необходимость организовать исключительно энтерпрайз с таблицами, сервером.
Тут уже лучше прикручивать либу. 1.4.1 не содержит v2c. В 2.0.2 оно уже есть, но описание еще более скудное.
ampersant вне форума   Ответить с цитированием
Старый 26.09.2020, 22:14   #2
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

показалось, что вот тут проще в сто раз
https://github.com/kfarr3/lwip-snmp

Но...
вот так из LwIP 2.0.2
Код:
void
snmp_asn1_enc_length_cnt(u16_t length, u8_t *octets_needed)
{
  if (length < 0x80U) {
    *octets_needed = 1;
  } else if (length < 0x100U) {
    *octets_needed = 2;
  } else {
    *octets_needed = 3;
  }
}
А теперь тоже самое у kfarr3
Код:
{                           // calculate the number of bytes required to encode a length
                           if      (length<=127     ) return 1;
                           else if (length< 255     ) return 2;
                           else if (length< 65535   ) return 3;
                           else if (length< 16777215) return 4;
                           else                       return 5;
                       }
это у него в файле asn.1.c

наткнулся чисто случайно. а сколько еще сюрпризов не обнаружил... Хоть сам с нуля царапай.
ampersant вне форума   Ответить с цитированием
Старый 27.09.2020, 22:43   #3
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
показалось, что вот тут проще в сто раз
https://github.com/kfarr3/lwip-snmp

Но...
вот так из LwIP 2.0.2
Код:
void
snmp_asn1_enc_length_cnt(u16_t length, u8_t *octets_needed)
{
  if (length < 0x80U) {
    *octets_needed = 1;
  } else if (length < 0x100U) {
    *octets_needed = 2;
  } else {
    *octets_needed = 3;
  }
}
А теперь тоже самое у kfarr3
Код:
{                           // calculate the number of bytes required to encode a length
                           if      (length<=127     ) return 1;
                           else if (length< 255     ) return 2;
                           else if (length< 65535   ) return 3;
                           else if (length< 16777215) return 4;
                           else                       return 5;
                       }
это у него в файле asn.1.c

наткнулся чисто случайно. а сколько еще сюрпризов не обнаружил... Хоть сам с нуля царапай.
А "с нуля" иногда проще... Ноу нейм ник стьюдент на гитхабе (а кто ещё будет этой хернёй заниматься ) озабоченный в основном "повторным использованием кода" те такого наваяет - что береги глаза Кстати "kfarr3", похоже копипаст... эти два фрагмента демонстрируют строго противоположные стили программирования. Либо же я нихрена не понял, но *octets_needed = 3 ... подразумевает, что что под это непонятное дело нужно, зачем-то, три октета, а " return 5;" это как в древнем анекдоте:
- !!! ПРИБОРЫ !!!! ???
- пятднадцать
- !!! ЧТОБЛЯДЬПЯТНАДЦАТЬ !!! ???
- а что приборы ?
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 28.09.2020, 04:12   #4
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

В обоих примерах вычисляется сколько надо байт для указания счётчика в кодировке asn1 во втором случае получился перл 0x00 0xff - первый 0 лишний, только следующее значение требует 2 байта. Длина длины блин в asn постоянно вычисляется
ampersant вне форума   Ответить с цитированием
Старый 11.10.2020, 21:06   #5
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
А "с нуля" иногда проще... Ноу нейм ник стьюдент на гитхабе (а кто ещё будет этой хернёй заниматься ) озабоченный в основном "повторным использованием кода" те такого наваяет - что береги глаза Кстати "kfarr3", похоже копипаст... эти два фрагмента демонстрируют строго противоположные стили программирования. Либо же я нихрена не понял, но *octets_needed = 3 ... подразумевает, что что под это непонятное дело нужно, зачем-то, три октета, а " return 5;" это как в древнем анекдоте:
- !!! ПРИБОРЫ !!!! ???
- пятднадцать
- !!! ЧТОБЛЯДЬПЯТНАДЦАТЬ !!! ???
- а что приборы ?
так и вышло. Свободным временем двигаю самопал, который точно так же будет никому не нужен и не понятен. Да еще и урезан в диагностике, т.е. пока все штатно - то ответы штатные, Если запросы косячные- ответы будут не в стандарте. Лень вылизывать - не хрен спрашивать не пойми что
ampersant вне форума   Ответить с цитированием
Старый 12.10.2020, 23:23   #6
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
так и вышло. Свободным временем двигаю самопал, который точно так же будет никому не нужен и не понятен. Да еще и урезан в диагностике, т.е. пока все штатно - то ответы штатные, Если запросы косячные- ответы будут не в стандарте. Лень вылизывать - не хрен спрашивать не пойми что
И это мудро на самом деле В лучшем случае, твой развернутый ответ попадет прямиком в "message" к юзеру - тот обидится. А пейсатель всё равно пойдет отрабатывать по ветке "error" сценарий "потеря соединения". Я довольно долго на такой случай редиректил сразу на pornohub, а когда сообразил, что долбит тебя с вероятностью %95 скрипт... прицепил что-то вроде https://imgpng.ru/download/67231 , но потом контора связалась с Родиной, там в основном нервные студенты... руководство попросило перестать хулиганить.
keep-alive туда, ресет у себя и пусть 6 минут ждет таймаута TCP
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 12.11.2020, 20:23   #7
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

че-то замыкает в мозге. Как кодируется в ASN1 real (float) для SNMP?

mibbrowser выдает

Код:
для 0.0       44 07 9F 78 04 00 00 00 00 
для 123.45    44 07 9F 78 04 42 F6 E6 66
как это подвязано с 4 способами кодирования по разным основаниям? Какой тут применен? https://habr.com/ru/post/150757/ Поясняет (есть только такое объяснение на русском, автор воще жжет, от сложного к простому)...
ampersant вне форума   Ответить с цитированием
Старый 12.11.2020, 21:12   #8
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

p.s. В либе LwIP нет упомнинаий про real и float в SNMP.
ampersant вне форума   Ответить с цитированием
Старый 12.11.2020, 22:11   #9
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

спросил у знакомого (работает на крупный российский вендор ключевой программист) - говорит, мы выкрутились fixed point-ом, На стороне клиента стоит множитель 0.01 для значений токов например.
ampersant вне форума   Ответить с цитированием
Старый 12.11.2020, 22:23   #10
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,406
Вес репутации: 1047/65
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
спросил у знакомого (работает на крупный российский вендор ключевой программист) - говорит, мы выкрутились fixed point-ом, На стороне клиента стоит множитель 0.01 для значений токов например.
нормальный выход... передавать целым числом а на другой стороне приводить к нужному
SergP01 на форуме   Ответить с цитированием
Старый 13.11.2020, 10:23   #11
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
спросил у знакомого (работает на крупный российский вендор ключевой программист) - говорит, мы выкрутились fixed point-ом, На стороне клиента стоит множитель 0.01 для значений токов например.
А что IEEE 754А просто как 4 байта не передать? В старину base64 использовался только потому, что не было никакой разумной возможности получить что либо кроме 64 символов ASCII...
Сейчас-то нахрена эти пляски
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 13.11.2020, 16:05   #12
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
А что IEEE 754А просто как 4 байта не передать? В старину base64 использовался только потому, что не было никакой разумной возможности получить что либо кроме 64 символов ASCII...
Сейчас-то нахрена эти пляски

на 745A очень похожи последние 4 байта только в обратном порядке.


SNMP немного моложе меня. Как тут что-то менять? И вообще, ASN кто придумал - икать до самой смерти. Что есть - то есть. И с этим надо как то мириться.


Подозрения закрались, что знакомый слегка пи...т. (возможно резко представил, что я спрошу дальше) Среди их данных есть параметр PER (тюнера показывают относительное число ошибок от <1E-7 и больше) а там без флоат никак.


В сухом остатке: типа данных ASN с кодом 44h нигде не нашел. Дальше 07 - число байт Далее 9F 78 хз че, потом -04 -длина числа. потом эти 4 байта как-то оформленные float с литл ендиан. Первый бит -знак числа
в этом же байте 6-0 и еще один из следующего байта биты експоненты. 3 байта оставшихся - мантисса.

Последний раз редактировалось ampersant; 13.11.2020 в 16:22.
ampersant вне форума   Ответить с цитированием
Старый 13.11.2020, 16:16   #13
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,406
Вес репутации: 1047/65
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

я бы не парился

#define ACCUR 100

float a=12,3456;
WORD b;

b=a*ACCUR;

на приёмной стороне

float a= b/ACCUR;

получаем 12,34

так быстрее чем упаковывать- распоковывать...
SergP01 на форуме   Ответить с цитированием
Старый 13.11.2020, 16:25   #14
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
SNMP немного моложе меня. Как тут что-то менять? И вообще, ASN кто придумал - икать до самой смерти. Что есть - то есть. И с этим надо как то мириться.



Подозрения закрались, что знакомый слегка пи...т. (возможно резко представил, что я спрошу дальше) Среди их данных есть параметр PER (тюнера показывают относительное число ошибок от <1E-7 и больше) а там без флоат никак.


по поводу IEEE 754А - среди вариантов как раз один вроде этот и есть, только порядок байт литл ендиан. По форумам вижу что пробуют развернуть и взять как float. И че-то как-то чуть чуть не те цифры выходят.



В сухом остатке: типа данных ASN с кодом 44h нигде не нашел. Дальше 07 - число байт Далее 9F 78 хз че, потом -04 -длина числа. потом эти 4 байта как-то оформленные float с литл ендиан. Первый бит -знак числа
в этом же байте 6-0 биты експонента. 3 байта оставшихся - мантисса.

на какой вариант float похоже- никогда были не нужны кишки float. Вот теперь прибило
"Чуть не те цифры" из за разницы представления float в разных компиляторах. Можно решить в лоб - на стороне сервера сразу "печатать" в DisplayString SNMP а на клиенте либо строку на экран, либо конвертить обратно
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 13.11.2020, 16:27   #15
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от SergP01 Посмотреть сообщение
я бы не парился

#define ACCUR 100

float a=12,3456;
WORD b;

b=a*ACCUR;

на приёмной стороне

float a= b/ACCUR;

получаем 12,34

так быстрее чем упаковывать- распоковывать...

после того, что требуется сделать чтобы собрать пакет UDP для SNMP в режиме табличного чтения например, то вот эта разница не значительная.

Кто придумывал стандарт просто изведвался: данные с заранее неизвестной длинной для которых указывается заранее низвестной длины параметр длины - т.е. есть 2 подхода: сначала посчитать сколько что будет занимать места, и только потом собирать пакет. Я пошел по второму пути, собираю с конца в начало. Так хотябы указание длины уже по собранному - можно использовать один проход.
ampersant вне форума   Ответить с цитированием
Старый 13.11.2020, 16:29   #16
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
"Чуть не те цифры" из за разницы представления float в разных компиляторах. Можно решить в лоб - на стороне сервера сразу "печатать" в DisplayString SNMP а на клиенте либо строку на экран, либо конвертить обратно
Тоже делают так.
ampersant вне форума   Ответить с цитированием
Старый 13.11.2020, 16:31   #17
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,406
Вес репутации: 1047/65
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
. Первый бит -знак числа
в этом же байте 6-0 и еще один из следующего байта биты експоненты. 3 байта оставшихся - мантисса.
ох... помню я как парился с ADSP , чтобы деление делать с плавающей точкой на ASM
плюнул на это дела и сделал на С

прикиньте формулу a=((d*c)/sin(e)/cos(d))
на ASM для RISC архитектуры
SergP01 на форуме   Ответить с цитированием
Старый 13.11.2020, 16:34   #18
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,406
Вес репутации: 1047/65
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
после того, что требуется сделать чтобы собрать пакет UDP для SNMP в режиме табличного чтения например, то вот эта разница не значительная.

Кто придумывал стандарт просто изведвался: данные с заранее неизвестной длинной для которых указывается заранее низвестной длины параметр длины - т.е. есть 2 подхода: сначала посчитать сколько что будет занимать места, и только потом собирать пакет. Я пошел по второму пути, собираю с конца в начало. Так хотябы указание длины уже по собранному - можно использовать один проход.
я не вижу- в чём проблемма ?

приведите число к DWORD.... длина известная...
SergP01 на форуме   Ответить с цитированием
Старый 19.11.2020, 18:53   #19
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

беда в кадом углу с этим SNMP мониторингом. Теперь русские octet string сломали голову. Если текст латиницей цифры символы - в zabbix чисто текст принимается, если попытаться русский текст выдать unicod utf-8 (видел в устройствах с которыми все это работало по сниферу видно, что текст кирилицей идет с кодами D0 xx и т.п. ) то zabbix печатает hex этих байтов, т.е. так и пишет просто байтами.
ampersant вне форума   Ответить с цитированием
Старый 19.11.2020, 23:41   #20
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
беда в кадом углу с этим SNMP мониторингом. Теперь русские octet string сломали голову. Если текст латиницей цифры символы - в zabbix чисто текст принимается, если попытаться русский текст выдать unicod utf-8 (видел в устройствах с которыми все это работало по сниферу видно, что текст кирилицей идет с кодами D0 xx и т.п. ) то zabbix печатает hex этих байтов, т.е. так и пишет просто байтами.
I don’t understand why you are suffering with this "Russian". The Chinese mans somehow make do with human language
Так говорит Google
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 20.11.2020, 05:29   #21
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
I don’t understand why you are suffering with this "Russian". The Chinese mans somehow make do with human language
Так говорит Google
От кириллицы никак не отказаться. И главное перед глазами более сотни железок "говорящих" на языке Пушкина. Как это сделано? Фокусники.
ampersant вне форума   Ответить с цитированием
Старый 20.11.2020, 06:31   #22
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,406
Вес репутации: 1047/65
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

https://stackoverflow.com/questions/...eadable-string

эта проблема ?

прикольная штука

http://www.unit-conversion.info/texttools/octal/

https://forum.ixbt.com/topic.cgi?id=26:39929

Последний раз редактировалось SergP01; 20.11.2020 в 06:41.
SergP01 на форуме   Ответить с цитированием
Старый 20.11.2020, 10:01   #23
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,638
Вес репутации: 3789/99
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от ampersant Посмотреть сообщение
От кириллицы никак не отказаться. И главное перед глазами более сотни железок "говорящих" на языке Пушкина. Как это сделано? Фокусники.
1 - поменяйте контейнер на "DisplayString"
2 - может быть там ждут UITF16
3 - win1251 cyr. примерно в 80% случаев (в Росии) "отобразится правильно"
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 20.11.2020, 10:20   #24
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
1 - поменяйте контейнер на "DisplayString"
2 - может быть там ждут UITF16
3 - win1251 cyr. примерно в 80% случаев (в Росии) "отобразится правильно"

я сдернул пакет именно с работающего железа которое по русски пишет в мониторинге. Единственная разница, что там mib не хотят сообщить. А стыренный пакет trap я могу поймать только когда сам создаю на оборудовании ситуацию для этого трапа. И там кодировка unicod utf-8.


Другие кодировки тоже пробовал - ровно то же самое.
ampersant вне форума   Ответить с цитированием
Старый 20.11.2020, 10:22   #25
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,613
Вес репутации: 4968/123
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: кто нибудь прикручивал LwIP 2.0.2 SNMP по честному?

Цитата:
Сообщение от SergP01 Посмотреть сообщение



последняя ссылка - да проблема эта.




предпоследняя ссылка -подобные находил. вот дамп выловленного:


D0 A2 D0 B5 D0 BC D0 BF D0 B5 D1 80 D0 B0 D1 82 D1 83 D1 80 D0 B0 20
D0 B7 D0 B0 D0 BB D0 B0 3A 20 D0 A2 D0 B5 D0 BC D0 BF D0 B5 D1 80 D0
B0 D1 82 D1 83 D1 80 D0 B0 20 D0 B2 20 D0 BD D0 BE D1 80 D0 BC D0 B5
20 28 32 33 20 C2 B0 43 29 2E


что соответствует тексту :


Температура зала: Температура в норме (23 °C).


отправляю в туда же этот же дамп, но не в трапе а как get-responce на соответствующий запрос - вместо букв вижу этот дамп.


похоже на трап в zabbix повешен какой то скрипт, который не повешен на опрос через get-request/get-responce

Последний раз редактировалось ampersant; 20.11.2020 в 10:27.
ampersant вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SNMP из либы микрочипа кто нибудь пользовал? IgorV Cетевые протоколы и технологии 4 24.03.2012 21:50
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39


Часовой пояс GMT +3, время: 10:53.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot