查詢

snmpwalk()函式—用法及示例

「 獲取指定 SNMP 主機上的一組物件的值 」


函式名稱:snmpwalk()

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

函式描述:snmpwalk() 函式用於獲取指定 SNMP 主機上的一組物件的值。

語法:snmpwalk(string $hostname, string $community, string $object_id, int $timeout = 1000000, int $retries = 5) : array|false

引數:

  • $hostname: SNMP 主機名或 IP 地址。
  • $community: SNMP 社群字串,用於訪問 SNMP 主機。
  • $object_id: SNMP 物件識別符號(OID),用於指定要獲取的物件。
  • $timeout: 可選引數,超時時間(以微秒為單位)。預設為 1000000 微秒(1秒)。
  • $retries: 可選引數,重試次數。預設為 5 次。

返回值:

  • 成功:返回一個包含所獲取物件的陣列。
  • 失敗:返回 false。

示例:

$hostname = '127.0.0.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.2.2.1.2'; // OID for ifDescr

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

if ($result === false) {
    echo "獲取 SNMP 物件失敗";
} else {
    foreach ($result as $key => $value) {
        echo "介面名稱: $value\n";
    }
}

該示例中,我們使用 snmpwalk() 函式獲取本地主機的介面名稱。首先,我們指定了 SNMP 主機名為 '127.0.0.1',社群字串為 'public',物件識別符號為 '1.3.6.1.2.1.2.2.1.2'。然後,我們透過遍歷結果陣列列印出每個介面的名稱。

請注意,snmpwalk() 函式需要在 PHP 的配置檔案 php.ini 中啟用 SNMP 擴充套件(extension=snmp)才能正常使用。

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