日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SNMP4J的一点缺陷

發布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SNMP4J的一点缺陷 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?最近在使用SNMP4J的過程中發現一個缺陷,不知道應不應該算是個bug,但我想終究算是一個不完善的地方。

問題描述如下:

在通過SNMP4J去獲取某些交換機上的MAC地址轉發表(dot1dTpFdbTable, OID為1.3.6.1.2.1.17.4.3)時,發現結果不全,這里說其不全是與net-snmp提供的snmpwalk取的結果相比較而言的,snmpwalk也提供了相同的功能可以獲取snmp table。不過直接用snmpwalk取的時候實際上也碰到了一個問題,例如假設交換機IP地址為192.168.1.1,支持SNMPv2c,且其團體字符串為public,則取MAC地址轉發表的命令行如下:

?

  • snmpwalk?-c?public?-v?2c?192.168.1.1?.1.3.6.1.2.1.17.4.3?
  • 在對上述的那些交換機通過上述命令行獲取其mac地址轉發表的時候,會返回以下結果:

    ?

  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.1.205.11?=?Hex-STRING:?00?03?0F?01?CD?0B??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.238.195?=?Hex-STRING:?00?03?0F?0D?EE?C3??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.238.219?=?Hex-STRING:?00?03?0F?0D?EE?DB??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.239.119?=?Hex-STRING:?00?03?0F?0D?EF?77??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.239.131?=?Hex-STRING:?00?03?0F?0D?EF?83??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.239.191?=?Hex-STRING:?00?03?0F?0D?EF?BF??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.13.239.231?=?Hex-STRING:?00?03?0F?0D?EF?E7??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.17.254.48?=?Hex-STRING:?00?03?0F?11?FE?30??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.6?=?Hex-STRING:?00?03?0F?12?08?06??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.124?=?Hex-STRING:?00?03?0F?12?08?7C??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.178?=?Hex-STRING:?00?03?0F?12?08?B2??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.186?=?Hex-STRING:?00?03?0F?12?08?BA??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.190?=?Hex-STRING:?00?03?0F?12?08?BE??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.8.210?=?Hex-STRING:?00?03?0F?12?08?D2??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.18.9.234?=?Hex-STRING:?00?03?0F?12?09?EA??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.38.92?=?Hex-STRING:?00?03?0F?13?26?5C??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.46.100?=?Hex-STRING:?00?03?0F?13?2E?64??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.46.154?=?Hex-STRING:?00?03?0F?13?2E?9A??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.65.82?=?Hex-STRING:?00?03?0F?13?41?52??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.65.106?=?Hex-STRING:?00?03?0F?13?41?6A??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.66.158?=?Hex-STRING:?00?03?0F?13?42?9E??
  • SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.66.158?=?Hex-STRING:?00?03?0F?13?42?9E??
  • Error:?OID?not?increasing:?SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.66.158?
  • ?>=?SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.15.19.66.158?
  • 第23行中可以看到錯誤提示,OID not increasing的錯誤,原來某些設備對SNMP支持的原因,會導致返回結果的OID不是遞增的,其實不應該說是遞增,只能說是增大。查看snmpwalk的man手冊后,找到了解決方法:

    ?

  • -Cc?
  • Do?not?check?whether?the?returned?OIDs?are?increasing.?Some?agents?(LaserJets?are?an?example)?return?OIDs?out?of?order,?but?can?complete?the?walk?anyway.?Other?agents?return?OIDs?that?are?out?of?order?and?can?cause?snmpwalk?to?loop?indefinitely.?By?default,?snmpwalk?tries?to?detect?this?behavior?and?warns?you?when?it?hits?an?agent?acting?illegally.?Use?-Cc?to?turn?off?this?check.?
  • 即在snmpwalk中增加-Cc選項后即可解決該問題,因為加上該選項后,snmpwalk將不再檢查OID的升序問題,但有可能產生一個新問題就是導致snmpwalk陷入死循環。死循環的問題這里暫且不表。

    不知道SNMP4J里面有沒有對這個問題的解決方法,即類似snmpwalk中的-Cc選項的功能。后面有時間會再看看SNMP4J的源代碼,給出一個答案,也希望知道的朋友能夠提示一下。

    ?

    轉載于:https://blog.51cto.com/njulinq/289265

    總結

    以上是生活随笔為你收集整理的SNMP4J的一点缺陷的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。