8

我正在尝试让 PHP 网站通过 SNMP 发送信息。我一直在阅读有关 SNMP 的分配,但我仍然对从哪里开始一无所知。

我相信我需要使用我的网站将用来发送信息的所有 OID 创建一个 MIB。这个对吗?我如何以及在哪里可以定义这些变量 (OID)?有人可以指出我正确的方向吗?

我在服务器上使用 FreeBSD。

提前致谢。

4

3 回答 3

4

您要做的是发送“SNMP 陷阱”。您不一定需要定义 MIB。MIB 只是将“半人类友好”名称转换为 OID,例如 SNMPv2-MIB::sysContact.0 转换为 .1.3.6.1.2.1.1.4.0 。对于私有应用程序,理论上您可以使用您想要的任何 OID,就像理论上您可以为未连接到其他人的私有网络使用您想要的任何 IP 地址一样。我不确定是否有首选的“私有”OID 分支。在http://www.paessler.com/support/kb/questions/49/上有一些很好的信息可以帮助您入门。看起来 PHP 不直接支持发送 SNMP 陷阱,但您可以调用“snmptrap”命令。

于 2009-09-09T05:16:41.340 回答
1

有几个问题:

  • 要获得您自己的顶级标识符,我认为您实际上必须在某个地方请求它(并且可能要付钱?)但是有一个实验范围可用于测试。(这不是 php 问题,而是 snmp 问题/功能)

  • 据我所知,该协议假定一个进程监听与 http 端口完全不同的端口,并且不使用 TCP 而是使用 UDP。仅仅以通常的方式创建一个 php 页面是行不通的。

一个可能的解决方案可能是在 apache(或您正在使用的任何网络服务器)中使用 snmp 模块,它允许您在 php.ini 中编写响应逻辑。我的感觉是,您在网络上遇到的大多数 snmp php 东西都不是关于代理部分的,而是关于管理器部分的。

于 2009-09-08T20:17:07.163 回答
0

我所知道的是,SNMP 是一种协议,主机将特定 OID 的值的请求发送到设备,然后接收响应。

我不确定您是否可以拥有一个回答此数据包的 php 网站。

我发现的唯一信息是 PHP 有一个 SNMP 客户端类 PHP SNMP

维基百科为您提供有关 SNMP链接文本的详细信息

但我仍然确定网站不能充当 SNMP 服务器。

于 2009-09-08T19:32:31.933 回答