ndum/laravel-snmp 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ndum/laravel-snmp

最新稳定版本:2.1.0

Composer 安装命令:

composer require ndum/laravel-snmp

包简介

A FreeDSx/SNMP SNMP-Wrapper for Laravel

README 文档

README

This Laravel-Package provides an simple Laravel-Wrapper for the excellent FreeDSx/SNMP class.

Requirements

Requires: Laravel >= 5.5 or higher

Installation

Install via Composer.

$ composer require ndum/laravel-snmp

Documentation

The official documentation can be found here

Examples

Traditionally:
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);
Facade:
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);

Extras

Timeout-Settings:
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 traps part 1. (sending traps):

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 (same as v2c / v3 but require a response from target)

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 traps part 2. (Receiving traps / trap sink):
  1. First, create a trap listener-class (examples can be found here
  2. Then use it like the following example:
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

The official documentation for trap sink can be found here

Issues / Contributions

Directly via GitHub

License

This project is licensed under the MIT License - see the LICENSE.md file for details

统计信息

  • 总下载量: 10.22k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 13
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 13
  • Watchers: 1
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固