見出し画像

Windows 11標準のSNMPエージェントについてを調べてみた

今朝は3時に、助手の猫さんが起こしてくれました。
ご飯をあげてたら食べたあといなくなりました。私がコヒーを淹れていたら、かみさんを起こしてきました。また、ご飯をもらって満足そうにしていました。

最近Q&サイトを見ているとWindows標準のSNMPエージェントの質問がいくつか見つけて調べてみたくなりました。せっかくなので、最新のWindows 11の話を書いておきます。

SNMPエージェントを有効にする

Windows 11でSNMPエージェントの機能を有効にするには、「設定」プログラムの「システム」ー「オプション機能」の画面で「オプション機能を追加する」から実施できます。機能は、SNMPで検索すればよいです。追加してSNMPでフィルターすると

のようになります。

SNMPエージェントの設定をする

SNMPエージェントの設定画面はサービス一覧から表示できますが、探すのが大変です。
スタートメニューの

Windowsツールをクリックすれば

のような画面になります。ここの「サービス」をクリックします。

のサービス一覧が表示されます。下のほうに「SNMPサービス」があります。これをダブルクリックします。
そうすると設定画面が表示されます。

起動についての設定


連絡先や取得できる情報の設定


TRAPの送信先
コミュニティー名やアクセス元IPの制限

などが設定できます。

SNMPの設定が保存されている場所

レジストリに保存されています。

SNMP設定のレジストリ

この設定を管理者権限で起動したPowerShellのコマンド

 Get-ChildItem -LiteralPath  'HKLM:\SYSTEM\ControlSet001\Services\SNMP'  -Recurse

で確認できます。設定もPowerShellからできると思います。

取得できるMIB

SNMPv1とSNMPv2cに対応しているようです。どちらでも取得できました。取得できたMIBのグループは

です。ホストリソースMIBにも対応しているので、ノードのレポート画面で
ホストリソースの情報を表示できます。

です。
3つの拡張MIBは、

です。77はマイクロソフトの企業番号ではないようです。

によると

LAN Managerのようです。かなり懐かしいですが、今知っている人は、ほとんどいないと思います。

です。
MIBファイルは

にありました。組み込んでみるとエラーなく読み込めます。

取得したMIBのオブジェクト名も解決できました。

31:30.30のバージョンを文字列にすると10.0になっているようです。Windows11なので不思議です。

comType  OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION 
            "The type of LAN Manager software this system is running.  
            If no server is running the node is a workstation.  This 
            object type is an octet string of length 4 treated as a bit 
            map (with the least significant bit being bit 0):

            OCTET 1 --  Software Type  Bit
                        -------------  ---
                        workstation     0
                        server          1
                        sqlserver       2
                        Primary DC      3
                        Backup DC       4
                        Time Source     5
                        AFP Server      6
                        Netware Server  7

            OCTET 2 --  undefined

            OCTET 3 --  undefined

            OCTET 4 --  undefined"
    ::= { common 3 }

のOCTET 1は03なので、workstationとserverが動作しているということのようです。
どうやらisoを指定してsnmpwalkするとcomTypeまでしか取得できませんが、LANMGR-MIBで定義されているMIBを指定すると取得できるようです。
例えばsvSvcTableは

です。定義されていても取得できないMIBも多い感じです。
ちなみに、設定画面の

のチェックをすべて外してみましたが、取得できるMIBに変わりないようでした。

TRAPの受信

SNMPエージェントを再起動すると、SNMPv1のTRAPを送信します。

coldStart 0
SNMPエージェントが再起動し、管理値が初期化されたことを意味する標準トラップです。
linkUp 3
機器のインターフェースがダウンからアップになったことを意味する標準トラップです。

です。linkDownとauthenticationFailureも送信すると思います。

イベントログTRAP変換

WindowsのイベントログをSNMPのTRAPに変換する機能がWindowsの標準機能にあることを知りました。

です。Windows 11で試してみました。
evntwinを起動すると

が表示できて、上記サイトの手順にしたがってTRAPを送信できました。
TWSNMP FCで受信した画面は

です。

明日に続く

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