当前位置:  开发笔记 > 编程语言 > 正文

使用PHP生成SNMP陷阱

如何解决《使用PHP生成SNMP陷阱》经验,为你挑选了1个好方法。

我正在拼命寻找从PHP生成SNMP陷阱的方法.我知道使用snmpget的方法的构建,但我无法弄清楚如何发送SNMP陷阱.

有人知道它的类/代码片段吗?除了使用exec调用cli工具之外,搜索网络并没有提出任何其他内容,这对我来说绝对没有选择.

我怀疑使用socket_create和相应的功能来手动生成UDP包是必要的...



1> jek..:

据我所知,没有本机方式用于生成陷阱/通知与PHP.甚至SNMP扩展也只允许获取和设置请求.因此,实现此目的的唯一(快速)方法是调用net-snmp之类的外部工具.正确的命令行会是这样的

snmptrap -v 1 -c public manager enterprises.spider test-hub 3 0 '' interfaces.iftable.ifentry.ifindex.1 i 1

将为通道发送一个通用的linkUp陷阱,用于接口1(取自联机帮助页).要从php执行此操作,net-snmp二进制文件应位于系统的路径上,您可以调用exec,shell_exec或proc_open.

显然,您也可以通过将其编码为原始字节数组并通过UDP套接字发送来自己发送陷阱,但是您必须自己实现BER编码器和SNMP数据包编码器,我不建议这样做.供您参考,您需要以下信息:

基本编码规则

ASN.1

以及此处找到的一些其他链接

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有