snmp3_walk

すべての SNMP オブジェクトをエージェントから取得する

説明

arrayfalse snmp3_walk(
    string $hostname,
    string $security_name,
    string $security_level,
    string $auth_protocol,
    string $auth_passphrase,
    string $privacy_protocol,
    string $privacy_passphrase,
    arraystring $object_id,
    int $timeout = -1,
    int $retries = -1
)

snmp3_walk 関数は、 hostname で指定した SNMP エージェントからすべての値を読み込みます。

セキュリティレベルに auth や priv を使っていなくても、 protocol/password には有効な値を指定しなくてはなりません。

パラメータ

hostname

SNMP エージェント (サーバー) のホスト名。

security_name

セキュリティ名。通常はユーザー名のようなもの。

security_level

セキュリティレベル (noAuthNoPriv|authNoPriv|authPriv)。

auth_protocol

認証プロトコル ("MD5", "SHA", "SHA256", "SHA512")。

auth_passphrase

認証パスフレーズ。

privacy_protocol

プライバシープロトコル (DES あるいは AES)。

privacy_passphrase

プライバシーパスフレーズ。

object_id

null の場合は object_idSNMP オブジェクトツリーのルートとなり、 ツリー配下のすべてのオブジェクトを配列で返します。

object_id を指定すると、 その object_id 以下のすべての SNMP オブジェクトを返します。

timeout

最初のタイムアウトまでのマイクロ秒数。

retries

タイムアウト発生時の再試行回数。

戻り値

object_id をルートとするすべての SNMP オブジェクトの値の配列、あるいはエラー時に false を返します。

変更履歴

バージョン 説明
8.1.0 auth_protocol は、 libnetsnmp がサポートする場合に、 新たに "SHA256""SHA512" を受け入れるようになりました。

例1 snmp3_walk の例

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

上の関数コールは、ローカルホストで動作している SNMP エージェントからすべての SNMP オブジェクトを返します。

      
array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

参考

  • snmp3_real_walk