ホームページ >バックエンド開発 >PHPチュートリアル >PHP の SNMP 拡張機能を使用するにはどうすればよいですか?

PHP の SNMP 拡張機能を使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-06-02 10:22:352050ブラウズ

PHP の SNMP 拡張機能は、PHP が SNMP プロトコルを通じてネットワーク デバイスと通信できるようにする拡張機能です。この拡張機能を使用すると、CPU、メモリ、ネットワークインターフェイスなどのネットワークデバイスの構成情報やルータ、スイッチなどの情報を簡単に取得および変更できます。また、スイッチングデバイスのポートなどの制御操作も実行できます。

この記事では、SNMP プロトコルの基本知識、PHP の SNMP 拡張機能をインストールする方法、PHP で SNMP 拡張機能を使用してネットワーク デバイスを監視および制御する方法を紹介します。

1. SNMP プロトコルの概要

SNMP (Simple Network Management Protocol) は、ネットワーク デバイスを管理するために使用されるプロトコルです。これは、ネットワーク上のネットワーク デバイスに関する情報を取得および変更するための標準的な方法を提供します。

SNMP プロトコルは、SNMP 管理システム、SNMP エージェント、SNMP 管理情報ベース (MIB) の 3 つの部分に分かれています。 SNMP 管理システムは、ネットワーク デバイスを管理するために使用されるシステムであり、SNMP プロトコルを通じて SNMP エージェントと通信します。 SNMPエージェントは、ネットワーク機器上で動作するソフトウェアで、ネットワーク機器上の監視が必要な情報を収集し、管理情報ベースに格納します。管理情報ベースは、ネットワーク機器の構成情報や性能情報など、ネットワーク機器に関する情報を格納するデータベースです。

SNMP プロトコルは、GET、GETNEXT、SET、TRAP などのメッセージ タイプをサポートしています。GET と SET はネットワーク デバイス情報の取得と変更に使用され、GETNEXT は次の OID の値の取得に使用され、TRAP は管理システムへの報告に使用され、警告メッセージが送信されます。

2. PHP の SNMP 拡張機能をインストールする

PHP の SNMP 拡張機能を使用する前に、SNMP プロトコルがシステムにインストールされていることを確認する必要があります。 Linux システムでは、次のコマンドを使用して SNMP をインストールできます。

sudo apt-get install snmp

Windows システムでは、SNMP ソフトウェアをダウンロードしてインストールできます。

SNMP をインストールした後、次のコマンドを使用して PHP の SNMP 拡張機能をインストールできます:

pecl install snmp

インストールが完了したら、php.ini ファイルに次の構成項目を追加します。 ##

extension=snmp.so

PHP を再起動するとインストールが完了します。

3. PHP での SNMP 拡張機能の使用

SNMP 拡張機能を使用する前に、SNMP プロトコルの基本的な知識を理解する必要があります。 SNMPプロトコルでは、ネットワーク機器内のさまざまな情報を識別するためにOID(Object Identifier)を使用しており、SNMPのgetメソッドとgetnextメソッドを使用してOIDに対応する値を取得し、setメソッドを使用してOIDに対応する値を変更することができます。 OID。

一般的に使用される SNMP 拡張関数の一部を次に示します:

    snmpget($host, $community, $oid, $timeout, $retries): OID に対応する値を取得します。 。
パラメータの説明:

    $host: ターゲット ネットワーク デバイスのアドレス。
  • $community: SNMP プロトコルのコミュニティ文字列。
  • $oid: 取得する OID。
  • $timeout: タイムアウト時間。
  • $retries: 再試行の数。
サンプルコード:

$value = snmpget("127.0.0.1", "public", "1.3.6.1.2.1.1.1.0", 500000, 3);
echo $value;

    snmpgetnext($host, $community, $oid, $timeout, $retries): 次の OID に対応する値を取得します。
パラメータの説明は snmpget と同じです。サンプルコード:

$value = snmpgetnext("127.0.0.1", "public", "1.3.6.1.2.1.1.1.0", 500000, 3);
echo $value;

    snmpset($host, $community,$oid, $type, $value, $timeout, $retries ): OIDに対応する値を設定します。
パラメータの説明:

    $host: ターゲット ネットワーク デバイスのアドレス。
  • $community: SNMP プロトコルのコミュニティ文字列。
  • $oid: 設定する OID。
  • $type: OID に対応するデータ型 (整数型を表す i、文字型を表す s など)。
  • $value: 設定する値。
  • $timeout: タイムアウト時間。
  • $retries: 再試行の数。
サンプルコード:

$status = snmpset("127.0.0.1", "private", "1.3.6.1.2.1.2.2.1.7.1", "i", 1, 500000, 3);
echo ($status === true) ? "Success!" : "Fail!";

上記の機能により、ネットワーク機器の情報を簡単に取得し、それに応じた制御を行うことができます。

4. 概要

この記事では、SNMP プロトコルの基本知識、PHP の SNMP 拡張機能のインストール方法、PHP で SNMP 拡張機能を使用してネットワークを監視および制御する方法を紹介します。デバイス。 PHP の SNMP 拡張機能を使用すると、ネットワーク デバイス情報を簡単に取得および変更でき、ネットワーク デバイスを管理する便利な方法が提供されます。

以上がPHP の SNMP 拡張機能を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。