ndum/laravel-snmp

一个用于Laravel的FreeDSx/SNMP SNMP包装器

安装次数: 3,975

依赖者: 0

推荐者: 0

安全: 0

星标: 12

关注者: 2

分支: 3

开放问题: 0

类型:laravel

2.0.0 2024-05-14 19:56 UTC

README

这个Laravel包提供了一个简单的Laravel包装器,用于优秀的FreeDSx/SNMP类。

要求

要求:Laravel >= 5.5 或更高版本

安装

通过Composer安装。

$ composer require ndum/laravel-snmp

文档

官方文档可以在这里找到

示例

传统方式
use Ndum\Laravel\Snmp;

$snmp = new Snmp();
$snmp->newClient('servername', 2, 'secret');
$result = $snmp->getValue('1.3.6.1.2.1.1.5.0'); ## hostname
dd($result);
门面
use Ndum\Laravel\Facades\Snmp;

$snmp = Snmp::newClient('servername', 2, 'secret');
$result = $snmp->getValue('1.3.6.1.2.1.1.5.0'); ## hostname
dd($result);

额外功能

超时设置
use Ndum\Laravel\Snmp;

$snmp = new Snmp();
$snmp->newClient('servername', 2, 'secret');
$snmp->setTimeoutConnectValue(5); # set a value for timeout_connect
$snmp->setTimeoutReadValue(10); # set a value for timeout_read

$result = $snmp->getValue('1.3.6.1.2.1.1.5.0'); ## hostname
dd($result);
SNMP陷阱第1部分。(发送陷阱)

v1

$snmp = new Snmp();
$snmp->newClient('targetserver', 1, 'secret', 162); 

# Parameters:
# The enterprise OID to trigger (string)
# The IP address. (string)
# The generic trap type (int)
# The specific trap type (int)
# The system uptime (in seconds/int)
# The OIDs and their values (string/int)
$snmp->sendTrapV1('1.3.6.1.4.1.2021.251.1','localhost', 0, 0, 60, '1.3.6.1.2.1.1.3', 60);

v2c / v3

use Ndum\Laravel\Snmp;

$snmp = new Snmp();
$snmp->newClient('targetserver', 2, 'secret', 162);

# Parameters:
# The system uptime (in seconds/int)
# The trap OID (string)
# The OIDs and their values (string/int)
$snmp->sendTrap(60, '1.3.6.1.4.1.2021.251.1', '1.3.6.1.2.1.1.3', 60));

inform-request(与v2c / v3相同,但需要目标响应)

use Ndum\Laravel\Snmp;

$snmp = new Snmp();
$snmp->newClient('targetserver', 2, 'secret', 162);

# Parameters:
# The system uptime (in seconds/int)
# The trap OID (string)
# The OIDs and their values (string/int)
$snmp->sendInform(60, '1.3.6.1.4.1.2021.251.1', '1.3.6.1.2.1.1.3', 60));
SNMP陷阱第2部分。(接收陷阱/陷阱接收器)
  1. 首先,创建一个陷阱监听器类(示例可以在这里找到)
  2. 然后像以下示例一样使用它
use Ndum\Laravel\SnmpTrapServer; # don't forget to use your listener also!

# default options
$options = [
        'ip' => '0.0.0.0',
        'port' => 162,
        'transport' => 'udp',
        'version' => null,
        'community' => null,
        'whitelist' => null,
        'timeout_connect' => 5,
    ];

$listener = new TrapListener(); ### your in step 1 created listener-class

$server = new SnmpTrapServer()
$server->prepare($listener, $options) # $options only needed if other than default
$server->listen();

# in addition: (only if needed)
$server->getOptions(); # to get the options
$server->setOptions($options); # to set the options

陷阱接收器的官方文档可以在这里找到

问题/贡献

直接通过GitHub

许可

本项目采用MIT许可 - 详细信息请参阅LICENSE.md文件