PHPWebサイトにSNMPを介して情報を送信させようとしています。私はSNMPについて多くのことを読んでいますが、どこから始めればよいのかまだ少しわかりません。
Webサイトが情報の送信に使用するすべてのOIDを使用してMIBを作成する必要があると思います。これは正しいです?これらの変数(OID)をどこでどのように定義できますか?誰かが私を正しい方向に向けることができますか?
私はサーバー上でFreeBSDを使用しています。
前もって感謝します。
あなたがしようとしているのは、「SNMPトラップ」を送信することです。必ずしもMIBを定義する必要はありません。MIBは、「半人に優しい」名前をSNMPv2-MIB::sysContact.0から.1.3.6.1.2.1.1.4.0などのOIDに変換するだけです。プライベートアプリケーションの場合、他の人に接続されていないプライベートネットワークに必要なIPアドレスを理論的に使用できるのと同じように、理論的には任意のOIDを使用できます。優先される「プライベート」OIDブランチがあるかどうかはわかりません。http://www.paessler.com/support/kb/questions/49/で始めるためのいくつかの良い情報があります。PHPはSNMPトラップの送信を直接サポートしていないようですが、「snmptrap」コマンドを呼び出すことはできます。
いくつかの問題があります:
あなた自身のトップレベルの識別子を取得するには、実際にどこかでそれを要求する必要があると思います(そしておそらくお金を払うのですか?)が、テストに使用できる実験的な範囲があります。(これはPHPの問題ではなく、SNMPの問題/機能です)
私の知る限り、プロトコルは、httpポートとはまったく異なるポートでリッスンするプロセスを想定しており、TCPではなくUDPを使用しています。通常の方法でphpページを作成するだけでは機能しません。
考えられる解決策は、phpで応答ロジックをプログラムできるようにするapache(または使用しているWebサーバー)でsnmpモジュールを使用することです。私の感じでは、Web上で遭遇するsnmp phpのもののほとんどは、エージェントの部分ではなく、マネージャーの部分に関するものです。
私が知っているのは、SNMPは、ホストが特定のOIDの値の要求をデバイスに送信し、応答を受信するプロトコルであるということです。
このパケットに応答するphpWebサイトを作成できるかどうかはわかりません。
私が見つけた唯一の情報は、PHPにはSNMPクライアントクラスPHPSNMPがあるということです 。
ウィキペディアはSNMPリンクテキストに関する詳細情報を提供します
しかし、WebサイトがSNMPサーバーとして機能できないことは確かです。