php对接snmp设备详细讲解
1、Php安装snmp扩展
1.基础环境准备
Php7.2版本
yum -y install php72w-snmp
Php7.4版本
yum install net-snmp php-snmp net-snmp-devel
重启php服务
通过php -m看到php扩展库里有snmp,此时安装成功。

1、写入snmp设备改变单个值案例
snmp写入
$session = new SNMP(SNMP::VERSION_2C, "DEVICE_IP", "REQUEST_TYPE");
$session->set('SNMP OID', 'MIB types', "value");
注释:
DEVICE_IP : snmp设备IP地址
REQUEST_TYPE:有两种类型public(读),private(写)
SNMP OID:snmp设备监控项的oid
MIB types:数据类型,参考下方types表格
value:要修改的值
|
types |
|
|
= |
The type is taken from the MIB |
|
i |
INTEGER(整形) |
|
u |
INTEGER(不带符号的整数) |
|
s |
STRING(字符串) |
|
x |
HEX STRING(十六进制) |
|
d |
DECIMAL STRING(十进制) |
|
n |
NULLOBJ |
|
o |
OBJID |
|
t |
TIMETICKS |
|
a |
IPADDRESS |
|
b |
BITS |
snmp读取
$session = new SNMP(SNMP::VERSION_2C, "DEVICE_IP", "REQUEST_TYPE");
$session->get('SNMP OID');
注释:
DEVICE_IP : snmp设备IP地址
REQUEST_TYPE:有两种类型public(读),private(写)
SNMP OID:snmp设备监控项的oid。oid可以是单个也可以是多个oid的一维数组
snmp写入案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "private");
$session->set('.1.3.6.1.4.1.398.2.1.0', 'i', '2');
$session->close();
snmp读取单个监控项案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "public");
$res = $session->get('.1.3.6.1.4.1.398.2.1.0');
print_r($res);
snmp读取多个监控项案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "public");
$res = $session->get(['.1.3.6.1.4.1.398.2.1.0','.1.3.6.1.4.1.398.2.1.0']);
$res_arr = array_values($res); //只获取数组值
$con = array();
foreach ($res_arr as $k => $v) {
$con[$k]=explode(':',$v); //类型和值分开
}
可以参考下官方内容定义
https://www.php.net/manual/en/snmp.set.php
php对接snmp设备详细讲解的更多相关文章
- Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...
- Siki_Unity_2-1_API常用方法和类详细讲解(上)
Unity 2-1 API常用方法和类详细讲解(上) 任务1&2:课程前言.学习方法 && 开发环境.查API文档 API: Application Programming I ...
- 详细讲解Android的网络通信(HttpUrlConnection和HttpClient)
前言,Android的网络通信的方式有两种:使用Socket或者HTTP,今天这一篇我们详细讲解使用HTTP实现的网络通信,HTTP又包括两种方式编程方式: (1)HttpUrlConnection: ...
- Iframe 用法的详细讲解
1转自:https://blog.csdn.net/judyge/article/details/51786064 zIframe 用法的详细讲解 把iframe解释成“浏览器中的浏览器“很是恰当 & ...
- vue-cli 目录结构详细讲解
https://juejin.im/post/5c3599386fb9a049db7351a8 vue-cli 目录结构详细讲解 目录 结构预览 ├─build // 保存一些webpack的初始化配 ...
- head标签详细讲解
head标签详细讲解 head位于html网页的头部,后前的标签,并以开始以结束的一html标签. Head标签位置如图: head标签示意图 head包含标签 meta,title,link,bas ...
- 详细讲解nodejs中使用socket的私聊的方式
详细讲解nodejs中使用socket的私聊的方式 在上一次我使用nodejs+express+socketio+mysql搭建聊天室,这基本上就是从socket.io的官网上的一份教程式复制学习,然 ...
- iOS KVC详细讲解
iOS KVC详细讲解 什么是KVC? KVC即NSKeyValueCoding,就是键-值编码的意思.一个非正式的 Protocol,是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取 ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...
- 详细讲解Android对自己的应用代码进行混淆加密防止反编译
1.查看项目中有没有proguard.cfg. 2.如果没有那就看看这个文件中写的什么吧,看完后将他复制到你的项目中. -optimizationpasses 5 -dontusemixedcasec ...
随机推荐
- char值转换为int怎么才能不是ASCII值
直接将char类型的变量强制转换为int类型是不行的,那样只会传递变量所对应的ASCII码 怎么才能将char类型转换为int类型呢?String类型的可以通过方法转换为int类型.那是不是可以将ch ...
- L02.从图灵机到通用计算机
将程序载入到内存(存储器)中,用一个指针指向它, 再载入到cpu(控制器)中进行解释执行 *(取指执行,产生结果) 取指执行 = 控制器从存储器中取出数据后,分析指令,运算器执行逻辑运算. PC= ...
- nojejs 弹出子窗口,取值后返回
1.主窗口: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
- Ubuntu VMWare安装纪要
一.VMware虚拟机下载与安装 版本:VMware Workstation 16 Pro 二.Ubuntu下载与安装 版本:ubuntu-20.04.2.0-desktop-amd64.iso 三. ...
- Matlab %伍
第五章:初级绘图进阶 Special Plots loglog semilogx semilogy plotyy hist bar pie polar Logarithm Plots x = lo ...
- python语言linux操作系统oracle环境安装
金句:如果没把握,最好先Google一下. 1.严格按照 https://oracle.github.io/odpi/doc/installation.html#linux 教程一步步做 包括下载的软 ...
- 9.Java的LinkedList/Deque相关方法
Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 它们来自不同的接口 add/remove源自集合,所以添加到队尾,从队头删除: offe ...
- 《Unix/Linux系统编程》第十二周学习笔记
<Unix/Linux系统编程>第十二周学习笔记 MySQL数据库简介 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一.在 WEB 应用方面,MySQL 是最好的 ...
- Linux 系统下挂载linux 系统盘
1应用背景:有时候系统崩溃无法修复,无法正常启动,而系统盘里面有需要的文件如log等需要拷贝出来,或者系统盘可以正常启动但是不方便用一台设备来启动这个系统盘.而直接将Linux系统盘接到windows ...
- loadrunner获取时间戳
web_save_timestamp_param("tStamp", LAST); //取时间戳