我目前正在开发一个涉及通过SNMP协议从打印机获取数据的应用程序。由于我想编程尽可能通用,我尝试尽可能多地使用相同的OID用于不同类型的打印机。我希望找到一个OID,告诉我有多少页以彩色和黑色打印。我知道OID 1.3.6.1.2.1.43.10.2.1.4.1.1给你一个总数,但我确实需要在颜色和黑/白方面有统计用途
如果有一个OID可以告诉我有多少页以彩色/黑白打印,并且它可以在不同型号/类型的打印机上使用,而你碰巧知道它,请不要犹豫填写我。
亲切的问候
答案 0 :(得分:6)
这不是真正的编程问题,但是因为你正在开发一个应用程序,我想它有点适合Stack Overflow ...
1.3.6.1.2.1.43.10.2是一个表,prtMarkerTable。
1.3.6.1.2.1.43.10.2.1.4是prtMarkerLifeCount列。它会对标记进行计数,在激光打印机上,我希望它可以计算打印的页数。
如果您有彩色激光打印机,它可能会将每个墨盒计为单独的“标记”,因此表格中有多行。这取决于打印机供应商。如果是这种情况,您可以通过对整个表执行SNMP遍历来查看每个标记的值。使用net-snmp command line tools,命令行将类似于
snmpwalk -c public -v2c <printer-address> 1.3.6.1.2.1.43.10.2
输出可能会让您深入了解特定打印机发布的内容。
您可以在this web page看到MIB的不同OID,您可以在RFC 3805中阅读整个MIB。
请注意,虽然大多数打印机供应商都实施RFC 3805,但并非强制要求,因此您应检查每台新打印机是否符合要求。一些供应商可能更愿意实施专有的打印机MIB。