l4rzzz/snmp

此包的最新版本(0.1.0)没有可用的许可证信息。

使用SNMP与网络连接设备交互

此包的官方存储库似乎已消失,因此包已被冻结。

维护者

详细信息

github.com/l4rzzz/snmp

0.1.0 2019-03-27 19:49 UTC

This package is auto-updated.

Last update: 2023-03-01 00:33:21 UTC


README

PHP组件,用于通过SNMP与网络连接设备交互

类和关联MIB

  • L4rzzz\Snmp\Snmp
    该类有3个公共方法,您可以传递OID与设备交互。其他类扩展它并使用针对特定MIB的预置方法。

  • L4rzzz\Snmp\Mgmt\Mib2

    • BRIDGE-MIB
    • ENTITY-MIB
    • IF-MIB
    • IP-MIB
    • SNMPv2-SMI
  • L4rzzz\Snmp\Enterprise\Cisco\Cisco
    扩展 L4rzzz\Snmp\Mgmt\Mib2 以使用MIB-2树中的MIB。

    • CISCO-VTP-MIB
    • CISCO-VLAN-MEMBERSHIP
  • L4rzzz\Snmp\Enterprise\Cisco\Ccm
    扩展 L4rzzz\Snmp\Mgmt\Mib2 以使用MIB-2树中的MIB。

    • CISCO-CCM-MIB
  • L4rzzz\Snmp\Enterprise\Infoblox\Infoblox
    扩展 L4rzzz\Snmp\Mgmt\Mib2 以使用MIB-2树中的MIB。

    • IB-DNSONE-MIB
    • IB-DHCPONE-MIB

用法

  • 示例

带有自定义OID的SNMPv2c

<?php
use \L4rzzz\Snmp\Snmp;

$auth = ['ro' => 'public'];
$s = new Snmp('10.10.10.10', $auth, 'v2c');

print $s->walk('1.3.6.1.2.1.1.1');

使用MIB-2方法的SNMPv3

<?php
use \L4rzzz\Snmp\Mgmt\Mib2;

$auth = [
    'securityName' => 'foo',
    'securityLevel' => 'AuthPriv',
    'authProtocol' => 'md5',
    'authKey' => 'bar',
    'privProtocol' => 'des',
    'privKey' => 'foobar',
];
$s = new Mib2('10.10.10.10', $auth, 'v3');

print $s->walkIfName();

带有Cisco方法的SNMPv2c

<?php
use \L4rzzz\Snmp\Enterprise\Cisco\Cisco;

$auth = ['ro' => 'public'];
$s = new Cisco('10.10.10.10', $auth, 'v2c');

print $s->walkVtpVlanName();

//Cisco extends Mib2, Mib2 extends Snmp
//So you can use these methods on Cisco objects too
print $s->walk('1.3.6.1.2.1.1.1');
print $s->walkEntPhysicalDescr();