2014-06-25 45 views
2

我目前正在开发涉及通过SNMP协议从打印机获取数据的应用程序。由于我想编程为尽可能通用,因此我尝试尽可能为不同类型的打印机使用相同的OID。我希望找到一个OID,告诉我有多少页以彩色和黑色打印。我知道OID 1.3.6.1.2.1.43.10.2.1.4.1.1为您提供了总数,但为了统计目的,我确实需要在颜色和黑/白方面有所不同SNMP:用于打印页数的通用OID

如果存在可以进行统计的OID告诉我有多少页以彩色/黑白打印,并且可以用于不同型号/类型的打印机,并且您碰巧知道它,请不要犹豫,填写我。

亲切的问候

回答

4

这不是真的一个规划问题,但因为你是开发一个应用程序,我想这有点符合堆栈溢出反正...

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。

+0

你给我的OID是我在我的问题帖子中给出的。正如我之前所说,它只会给你打印页面的总量。 –

+0

我并没有试图给你一个新的OID。我试图想出如何使用您提供的OID的想法。我可以认为桌子上的打印机只有一列吗? – Jolta

+0

的确,它只给出1个值,而不管它是哪台打印机。我已经用Canon,Brother,Kyocera和HP试过了这个OID,每次只有1个结果 –