首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回错误字符

返回错误字符
EN

Stack Overflow用户
提问于 2015-05-19 19:15:16
回答 1查看 1K关注 0票数 0

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

正确的输出示例:

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

错误输出示例:

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

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

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

--失败的测试解决方案

  • 用snmprealwalk实现的snmp2_real_walk
  • 文件的更改编码(UTF8,ANSI)
  • SNMP更长的超时时间,并尝试添加PHP ()函数
  • PHP指令: snmp_set_oid_numeric_print(1)
  • PHP指令:snmp_set_quick_print(真)
  • PHP指令:snmp_set_enum_print(真)
  • 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
  • 灯相当于水浴(也有误差)。

新的重要信息:

代码语言:javascript
复制
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 

Mibs被正确导入到Apache服务器,设备看起来很好。

中有一种方法吗?如何将snmp2_real_walk()所有返回的值都写为十六进制字符串?

*类似的问题(无结果):

谢谢并致以最良好的问候,佩特

EN

回答 1

Stack Overflow用户

发布于 2015-06-06 12:20:08

使用以下配置:

代码语言:javascript
复制
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
snmp_set_quick_print(1); 
snmp_set_enum_print(0); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30334280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档