Size: a a a

2021 January 28

L

Loljeene in learn.java
Adanos Gotoman
Здрасте, господа. Как строку с разделителем (1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s) превратить в hex формат?
У вас какая то определенная проблема?
Не совсем понятно, при чем тут разделитель, если вам надо в хекс формате целиком строку.
источник

AG

Adanos Gotoman in learn.java
Сек...
источник

AG

Adanos Gotoman in learn.java
Я на stackoverflow подробнее написал
источник

AG

Adanos Gotoman in learn.java
Здрасте, господа! Нуждаюсь в следующей помощи: Работаю с SNMP протоколом для xPON технологии. Суть программы - парсинг и вывод всевозможных данных о коммутаторе вместо ввода множества команд в консоль. Парсинг проходит по OID'ам. OID представляет последовательность типа (1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s), где %s - уникальные данные об устройстве (серийный номер, затухание и т.д.). Конкретно этот OID содержит инфу о серийных номерах на станционном оборудовании. Вопрос в следующем: как строку такого типа конвертировать в hex формат по типу 5A544547C8BD7F94 (серийник ONT)? И как дать программе понять, что %s - это данные об оборудовании? У меня есть метод, который из hex выведет десятичную последовательность, но вот как обратную конвертацию провернуть я не знаю. Будьте добры, помогите, кто имеет возможность и представление, как это сделать))

А вот и конвертер из hex в OID:

public String serialToDec(String dec)
   {
       StringBuilder builder = new StringBuilder();
       for (int i = 0; i < dec.length(); i += 2)
       {
           String sub = dec.substring(i, i + 2);
           long num = Long.parseLong(sub, 16);
           builder.append(num).append(".");
       }

       String result = builder.toString();
       result = result.substring(0, result.length() - 1);
       System.out.println(result);
       return result;
   }
источник

L

Loljeene in learn.java
Adanos Gotoman
Здрасте, господа! Нуждаюсь в следующей помощи: Работаю с SNMP протоколом для xPON технологии. Суть программы - парсинг и вывод всевозможных данных о коммутаторе вместо ввода множества команд в консоль. Парсинг проходит по OID'ам. OID представляет последовательность типа (1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s), где %s - уникальные данные об устройстве (серийный номер, затухание и т.д.). Конкретно этот OID содержит инфу о серийных номерах на станционном оборудовании. Вопрос в следующем: как строку такого типа конвертировать в hex формат по типу 5A544547C8BD7F94 (серийник ONT)? И как дать программе понять, что %s - это данные об оборудовании? У меня есть метод, который из hex выведет десятичную последовательность, но вот как обратную конвертацию провернуть я не знаю. Будьте добры, помогите, кто имеет возможность и представление, как это сделать))

А вот и конвертер из hex в OID:

public String serialToDec(String dec)
   {
       StringBuilder builder = new StringBuilder();
       for (int i = 0; i < dec.length(); i += 2)
       {
           String sub = dec.substring(i, i + 2);
           long num = Long.parseLong(sub, 16);
           builder.append(num).append(".");
       }

       String result = builder.toString();
       result = result.substring(0, result.length() - 1);
       System.out.println(result);
       return result;
   }
http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Hex.html
Методы для перевода строки в хекс формат есть тут.
По поводу %s я так понимаю вам нужно парсить строку в какой то объект
источник

АВ

А зачем Вам in learn.java
Наткнулся на "шпаргалку" по яве мож кому пригодится
источник

ch

central hardware in learn.java
и где?
источник

АВ

А зачем Вам in learn.java
источник

АВ

А зачем Вам in learn.java
Да с андроидом збшс файлы шарить
источник

4

4g in learn.java
Adanos Gotoman
Здрасте, господа! Нуждаюсь в следующей помощи: Работаю с SNMP протоколом для xPON технологии. Суть программы - парсинг и вывод всевозможных данных о коммутаторе вместо ввода множества команд в консоль. Парсинг проходит по OID'ам. OID представляет последовательность типа (1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s), где %s - уникальные данные об устройстве (серийный номер, затухание и т.д.). Конкретно этот OID содержит инфу о серийных номерах на станционном оборудовании. Вопрос в следующем: как строку такого типа конвертировать в hex формат по типу 5A544547C8BD7F94 (серийник ONT)? И как дать программе понять, что %s - это данные об оборудовании? У меня есть метод, который из hex выведет десятичную последовательность, но вот как обратную конвертацию провернуть я не знаю. Будьте добры, помогите, кто имеет возможность и представление, как это сделать))

А вот и конвертер из hex в OID:

public String serialToDec(String dec)
   {
       StringBuilder builder = new StringBuilder();
       for (int i = 0; i < dec.length(); i += 2)
       {
           String sub = dec.substring(i, i + 2);
           long num = Long.parseLong(sub, 16);
           builder.append(num).append(".");
       }

       String result = builder.toString();
       result = result.substring(0, result.length() - 1);
       System.out.println(result);
       return result;
   }
помнится в SNMP oid это аналог "переменной" и запрашивая чтение это переменной оборудование возвращает некое значение. Или у вас оборудование прямо на лету генерирует "переменные", тогда не понятно как их получить.
Я немного касался этого вопроса когда zabbixом снимал эти данные и для проверки как раз из командной строки запрашивал по snmp значение конкретного OID...
т.е. понятно что можно запросить список вложенных, но это все равно не сами значения этих параметров. Разве нет?
источник

AG

Adanos Gotoman in learn.java
4g
помнится в SNMP oid это аналог "переменной" и запрашивая чтение это переменной оборудование возвращает некое значение. Или у вас оборудование прямо на лету генерирует "переменные", тогда не понятно как их получить.
Я немного касался этого вопроса когда zabbixом снимал эти данные и для проверки как раз из командной строки запрашивал по snmp значение конкретного OID...
т.е. понятно что можно запросить список вложенных, но это все равно не сами значения этих параметров. Разве нет?
У меня уже есть списки оидов от нужных мне коммутаторов
источник

AG

Adanos Gotoman in learn.java
Получены на сайте разраба (там миб файлы лежат)
источник

4

4g in learn.java
Adanos Gotoman
У меня уже есть списки оидов от нужных мне коммутаторов
Я просто не понимаю зачем какие-то преобразования самого oid.
Сам oid значения в "названии" не содержит.
Или я не верно понял вашу задачу
источник

AG

Adanos Gotoman in learn.java
.1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s - все последующие цифры после 8 это серийники онт
источник

А

Артём Курилко... in learn.java
я и брал пример с этого сайта, но там ничего не сказано о добавлении новых значений, только о представлении в виде сущностей
источник

4

4g in learn.java
Adanos Gotoman
.1.3.6.1.4.1.35265.1.22.3.1.1.11.%s.8.%s - все последующие цифры после 8 это серийники онт
А что за железки?
источник

AG

Adanos Gotoman in learn.java
4g
А что за железки?
MA4000, LTP8X - пока они
источник

AG

Adanos Gotoman in learn.java
4g
Я просто не понимаю зачем какие-то преобразования самого oid.
Сам oid значения в "названии" не содержит.
Или я не верно понял вашу задачу
источник

4

4g in learn.java
Правильно понимаю:
69.76.88.102.1.41.124 -> hex
Если так то:
Отсечь в строке все по '8.'
После этого split('.')
Потом преобразовать каждый в hex и склеить
источник

AG

Adanos Gotoman in learn.java
Напомни, пж, как отсечь от сроки кусок?))
источник