Windows で SNMP Trap を送信されるかを確認する際のメモ。
以下では複数の宛先、複数のコミュニティで送信できることを確認しています。
テストツールとしてイベントログから Trap メッセージを作ることができる evntwin.exe (eventwin ではないので注意) を使用しています。(SNMP Service に付属している Windows のコンポーネントです。)
またTrap メッセージの送信を確認するために SNMP Service が動作している PC で Wireshark を起動して確認しています。(Wireshark は https://www.wireshark.org/download.html などからダウンロードしセットアップする必要があります。また Wireshark の使用方法などは以下の手順から割愛しています)
- SNMP Service のプロパティのセキュリティタブをひらき Public と Private のコミュニティを 2 つ設定します。
- トラップタブをひらき private コミュニティの送信先として 192.168.0.1 を設定します。
- 次に public コミュニティの送信先として 192.168.0.2 と 192.168.0.3 の 2 箇所を設定します。設定が終了したらプロパティを閉じ SNMP Service を再起動します。
- Powershell を管理者として実行し Trap 送信のためのテスト用のイベントソース (SnmpTest) を作成します。
New-EventLog -LogName Application -Source SnmpTest
- イベントトラップトランスレーター (evntwin.exe) を起動します。
evntwin
- evntwin.exe が起動したら編集ボタンを押します。
- 構成の種類をカスタムにします。次にイベントソースのツリービューから先ほど Powershell で作成したイベントソース (SnmpTest) を探して選択します。最後にイベントのリストビューからイベント ID 1 を選択し、右クリックでイベントの追加を選択します。
- OK を押します。
- OK を押します。
- Wireshark を起動しパケットの記録を開始した後、管理者で実行中の Powershell からイベントを書き込みます。
Write-EventLog -LogName Application -Source SnmpTest -EventId 1 -EntryType Information -Message "SNMP Trap Test"
- Trap が設定どおり 192.168.0.1 ~ 3 の 3 つが送信されていることを確認します。また 192.168.0.1 は private コミュニティ宛てであることを確認します。(同一セグメントへの送信かつ送信先が存在しない場合、Trap は送信されないのでそのような状況ではないことを事前に確認しておきます。)
- 192.168.0.2 ~ 3 は public コミュニティ宛てであることを確認します。
- 最後にテストで使用したイベントソースの削除や evntwin.exe で登録した情報を削除します。
Remove-EventLog -Source SnmpTest