查詢

snmpwalkoid()函式—用法及示例

「 從遠端裝置獲取指定OID的所有子OID的值 」


函式名稱:snmpwalkoid()

適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

用法:snmpwalkoid() 函式用於從遠端裝置獲取指定OID的所有子OID的值。它基於SNMP協議並返回一個關聯陣列,其中鍵是OID,值是相應的數值。

語法:array snmpwalkoid(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])

引數:

  • $hostname: 指定遠端裝置的IP地址或主機名。
  • $community: 指定SNMP共同體名稱,用於訪問遠端裝置。根據裝置的配置,該值可能為public或私有的。
  • $object_id: 指定要獲取子OID的OID。它可以是一個完整的OID或一個部分OID。
  • $timeout (可選): 指定超時時間,單位為微秒。預設為1000000微秒(1秒)。
  • $retries (可選): 指定重試次數。預設為5次。

返回值:如果成功,則返回一個關聯陣列,其中鍵是子OID,值是相應的資料。如果失敗,則返回FALSE。

示例:

$hostname = '192.168.0.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.1.1'; // 系統描述OID

$result = snmpwalkoid($hostname, $community, $object_id);

if ($result === false) {
    echo "獲取資料失敗";
} else {
    foreach ($result as $oid => $value) {
        echo "OID: $oid, Value: $value\n";
    }
}

以上示例將從IP地址為192.168.0.1的裝置中使用public共同體獲取系統描述OID(1.3.6.1.2.1.1.1)的所有子OID和相應的值。如果成功,將遍歷結果陣列並列印每個子OID和對應的值。如果獲取資料失敗,則輸出"獲取資料失敗"。請注意,實際應用中,需要根據遠端裝置的SNMP配置和需求來調整引數和處理返回結果。

補充糾錯
上一個函式: snmp_get_quick_print()函式
下一個函式: snmpwalk()函式
熱門PHP函式
分享連結