見出し画像

TWSNMP FCフィードバック回答:SNMP TRAPの文字化け その3

昨日、ありがたいことに返信いただきました。

大変失礼いたしました。
付帯MIB値の部分です。

Rocky 8.7 上 のnet-snmpから飛ばしています
# cat /etc/rocky-release
Rocky Linux release 8.7 (Green Obsidian)
# echo $LANG
ja_JP.UTF-8

以下にログ>SNMP Trapから
コピペしたログを張り付けさせていただきます。

ログの部分は省略しました。
謎が少し解けました。文字コードの問題ではなさそうです。
MIBブラウザーでホストリソースMIBのhrSystemDateを取得した時と
同じような文字化けだと思います。今のバージョンだと

のように文字化けでします。
hrSystemDateは、

のように DateAndTimeという型で定義されています。

DateAndTime ::= TEXTUAL-CONVENTION

    DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"

    STATUS       current

    DESCRIPTION

            "A date-time specification.

 

            field  octets  contents                  range

            -----  ------  --------                  -----

              1      1-2   year                      0..65536

              2       3    month                     1..12

              3       4    day                       1..31

              4       5    hour                      0..23

              5       6    minutes                   0..59

              6       7    seconds                   0..60

                           (use 60 for leap-second)

              7       8    deci-seconds              0..9

              8       9    direction from UTC        '+' / '-'

              9      10    hours from UTC            0..11

 

             10      11    minutes from UTC          0..59

 

            For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be

            displayed as:

 

                             1992-5-26,13:30:15.0,-4:0

 

            Note that if only local time is known, then timezone

            information (fields 8-10) is not present."

    SYNTAX       OCTET STRING (SIZE (8 | 11))

のような定義です。最初の2バイトが年、その次が月のような感じです。
ホストリソースMIBでは、この型を表示できるようにしてあるので、同じように対応すると

のように文字化けが解消できます。これと同じ対応をTRAP受信にもしようと思います。MIBブラウザーで対応したBIT型やMACアドレスの型もTRAPに組み込もうと思います。

ただ、フィードバックでいただいたログでは、このDateAndTime型ではないようにみます。先頭が2031になっていて、0404はあるので4月4日であっていそうですが、他の型かもしれません。
もしよろしければ、読み込んでいいる拡張MIBの該当するMIBの定義をもフィードバックにコピペして送ってください。

DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"

のような部分があれば、なんとかできると思います。
次のバージョンでは、バイナリーデータのため文字化けしそうなものは、16進数で表示するように修正します。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。