解析通过 DHCPd 的 OMAPI 接口返回的结果

解析通过 DHCPd 的 OMAPI 接口返回的结果

我正在尝试使用 OMAPI,以便我们的支持人员能够更深入地了解订户的服务状态。任何使用过 OMAPI 的人都知道两件事:

  1. 文档很糟糕
  2. 假设您克服了文档的可怕之处,那么生成的对象将包含每个值的十六进制表示形式。

现在,我可以将 IP 地址从 ab:ab:ab:ab 格式转换为点分十进制,没有任何问题,但有人知道如何将其他值转换为合理的值,特别是开始/结束值。

此外,子网值是否代表分配给用户的子网掩码,还是与其他内容有关?例如,我有一个用户的子网掩码为 255.255.224.0,但 OMAPI 返回的子网值为 00:00:00:09。

更新:

好的,我已经搞清楚了开始/结束的事情 - 基本上,你从十六进制值中删除冒号,转换为 int,然后通过 date() (PHP) 或 localtime() (Perl) 运行它。例如,

4e:4a:03:74变成4e4a0374,表示为 int1313473396然后传递给 date('Ymd G:i:s') 给我们20110816 6:43:16

我仍然不确定子网值是什么(我的意思是,我猜它以某种方式与子网掩码相关,但我不确定如何相关)。

答案1

好的,除了弄清楚时间问题之外,我还发现(呃……通过阅读手册,至少)“子网”和“池”键引用 dhcpd.conf 中子网和池声明的 OMAPI 对象。但是,这些对象目前无法读取。

相关内容