【问题标题】:PHP SNMP Real Walk returns bad charactersPHP SNMP Real Walk 返回错误字符
【发布时间】:2015-05-19 19:15:16
【问题描述】:

我通过 PHP 函数 snmp2_real_walk OID 值“.1.3.6.1.2.1.17.4.3.1.1”读取思科交换机设备的 MAC 地址。问题是,一些结果(随机在 200 个结果中的 50 个左右)返回错误字符(但如果我只读取 MAC 地址,我发现了一个错误)。即:

正确的输出示例:

  • [Dot1dTpFdbAddres] => 30 05 5C 38 A7 8C
  • [Dot1dTpFdbAddres] => C0 7B BC 0E 56 18

错误的输出示例:

  • [Dot1dTpFdbAddres] => ,v�?.b (HEX DUMP: 0 : 20 2c 76 8a 3f 2e 62 20 [ ,v.?.b ])
  • [Dot1dTpFdbAddres] => ,A8��7 (HEX DUMP: 0 : 20 2c 41 38 82 d9 37 20 [ ,A8..7 ])
  • [Dot1dTpFdbAddres] => xE�\� (HEX DUMP: 0 : 20 78 45 c4 2a 5c 20 d9 20 [xE.\ . ])

如果我尝试从 Getif 程序中读取 OID '.1.3.6.1.2.1.17.4.3.1.1',我得到了正确的结果。

我找不到这个问题的解决方案 - 你能帮帮我吗?

测试失败的解决方案

  • PHP - 通过 snmprealwalk 更改 snmp2_real_walk
  • 更改了文件编码(UTF8、ANSI)
  • SNMP 超时并尝试添加 PHP sleep() 函数
  • PHP 指令:snmp_set_oid_numeric_print(1)
  • PHP 指令:snmp_set_quick_print(true)
  • PHP 指令:snmp_set_enum_print(true)
  • PHP 指令:snmp_set_valueretrieval(SNMP_VALUE_LIBRARY 和 SNMP_VALUE_PLAIN)

关于服务器:

  • PHP 版本 5.5.3
  • Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
  • LAMP 等价于 WAMP(也有错误)

新的重要信息:

Device return randomly none-hex value for hex values, ie.:
[iso.3.6.1.2.1.17.4.3.1.1.92.38.10.129.123.27] => Hex-STRING: 5C 26 0A 81 7B 1B 
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.25.241] => Hex-STRING: 78 45 C4 2A 19 F1 
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.27.169] => Hex-STRING: 78 45 C4 2A 1B A9 
[iso.3.6.1.2.1.17.4.3.1.1.120.69.196.42.34.45] => STRING: "xE�*\"-"
[iso.3.6.1.2.1.17.4.3.1.1.120.172.192.142.199.214] => STRING: "x�����"
[iso.3.6.1.2.1.17.4.3.1.1.124.30.179.254.9.201] => Hex-STRING: 7C 1E B3 FE 09 C9 

Mib 已正确导入 Apache 服务器,设备看起来不错。

PHP中有没有办法将snmp2_real_walk()的所有返回值都写为Hex-STRING?

*类似问题(无结果):

感谢和最好的问候, 彼得

【问题讨论】:

    标签: php encoding snmp


    【解决方案1】:

    使用以下配置:

    snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
    snmp_set_quick_print(1); 
    snmp_set_enum_print(0); 
    

    【讨论】:

    • 您好,很遗憾您的代码始终无法正常输出。我再次尝试了不同的值 - 没有成功。代码输出示例:[iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.31] => "00 E0 D8 12 2F 30 " [iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.33] => "x��ɱ" [iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.34] => "00 25 B3 F8 A3 43 " [iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.64] => "؝g�u�" [iso.3.6.1.2.1.3.1.1.2.15.1.10.136.4.66] => "00 24 81 A0 10 14 "
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    相关资源
    最近更新 更多