SNMP TRAP送信ツール

序章

ログ監査システムにはさまざまな収集方法が必要ですが、その中でもSNMP TRAPが主流となっており、インターネットの急速な発展に伴い、セキュリティ製品やネットワーク製品などが次々と登場し、どのような製品がログ監査対象となるのかが多様化しています。ログ監査システムで分析する必要があるログ サンプルも段階的に増加しています。ログ サンプルの多様性は、ログ製品を解析する上での課題となっています。以前は、データ パケットを送信する syslog メソッドを共有しました。今回は、パケットを送信する SNMP TRAP メソッドを共有します。 。

ツールの機能説明

このツールは、SNMP TRAP を使用してデータ パケットを送信します。このツールは、受信側の IP とポートをカスタマイズでき、デフォルトでユーザーのコンピュータの IP を送信側の IP として使用します。毎日の SNMP TRAP では、カスタム コミュニティ文字と OID がサポートされています。複数の OID があるため、データの多様性に対応するために、ツールは追加の OID および VALUE 構成を提供します。

カスタム実行時間。このパラメータはタスクの繰り返し回数を決定します。

このツールは、SNMP V1 と SNMP V2 という 2 つの SNMP バージョンを提供します。
送信速度をカスタマイズします。デフォルト値は 1 で、ツールはタスクのこのパラメーターに従って 1 秒あたり N 回送信します。

このツールには、単一のカスタム ログの送信、ログ ファイルの読み取りと送信、フォルダー内のすべてのファイルの読み取りと送信という 3 つのログ ソース方法が用意されており、基本的にすべての形式のサンプル読み取りに対応します。

ツールにはタスクリストが用意されており、複数のタスクを追加することができます。タスクが実行されるとステータスは実行中と表示され、実行が完了するとステータスはアイドルと表示されます。ユーザーのさまざまなテストシナリオを満たすために、複数のタスクを追加できます。タスクの実行は相互に干渉せず、各タスクを左クリックすると、指定したタスクをすべて停止、開始、削除できます。

ユーザーが現在のプログラムの実行状況と実行履歴を簡単に記録および表示できるように、ツールには実行ログ表示列が用意されており、ログ列の内容はコピーとクリアをサポートしています。

ツールのスクリーンショット

ここに画像の説明を挿入
例: 上の図の OID は [1.3.6.1.4.1.8886.2.3.1.1.1.2.2] です。追加の OID と VALUE は、元の [1.3.6.1.4.1.8886.2.3.1.1.1.2.1 および pysnmp_test] です。テキストは [Nov 8 16:38:13 localhost sshd[1089535]: pam_unix(sshd:session): session Closed for user root] で、ツールを介して送信することで最終的にログを取得できます: [{1.3.6.1.4.1] .8886.2.3.1.1.1.2.1=pysnmp_test 、1.3.6.1.4.1.8886.2.3.1.1.1.2.2=11 月 8 日 16:38:13 localhost sshd[1089535]: pam_unix(sshd:session): ユーザー root のセッションが閉じられました}]

ツールの実装原則

このツールは Python3.7 を基本言語としており、主に Pyqt5 (インターフェース構築) と pysnmp (コントラクト実装) の 2 つのモジュールを導入しており、タスク データはインターフェース設定を通じてキャッシュに保存され、タスク リストに追加されます。

マルチタスクを実行すると、タスクのスレッドがスレッド プールに追加されます。ユーザーのコンピュータ リソースが過剰に使用されないように、スレッド プールはデフォルトで 10 に制限されています。タスクの構成データは、実行後に再度読み取られます。タスクが実行されます。リピート関数のデフォルトは 1 秒です。一度実行すると、リピート関数はタスク情報を要約し、ログを統合して送信する pysnmp モジュールに渡します。コードの実装は以下の図で見ることができます。その後、タスクはカスタム繰り返し機能を通じて実行されます。

タスクの実行や設定エラーに関する情報は、ログ領域に詳細に表示されます。ログにはタスク 1、タスク 2 などの識別子があり、フロントエンド識別子に従ってリスト内のタスクと照合することができ、問題を回避できます。ログの分類が不明瞭です。

実装コードの一部抜粋

マウスの左ボタンをバインドし、
ここに画像の説明を挿入
実行関数
ここに画像の説明を挿入
Pysnmp をカスタマイズしてデータを送信します
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_36616956/article/details/128929243