Java - 列出局域网上的所有网络打印机

问题描述:

我需要使用Java来获取局域网上属于网络打印机的所有IP地址的列表。我不需要打印到打印机,我只需要找到所有这些打印机。这是一个android应用程序。Java - 列出局域网上的所有网络打印机

只是要清楚,我没有试图找到在本地机器上配置的网络打印机。我正在尝试查找网络上可用的所有打印机。

我已经试过http://www.velocityreviews.com/forums/t152882-dynamic-network-printer-discovery-and-administration-via-jcifs-samba-org.html,并且我无法获取根smbfile来使用该代码,因为我的代码将在多个域和网络上运行,因此我无法对其进行硬编码,也无法对其进行硬编码弄清楚如何使用jcifs来查找当前域。

+0

并以“发现网络打印机”你意思是“在域控制器中查找它们”? – 2011-05-27 20:05:31

+0

Nowerdays没有网络打印机没有http服务器。获取“索引”并与“网络打印机http索引数据库”进行比较。大多数也具有SNMP功能。 – PeterMmm 2011-05-27 20:10:55

+0

我特别寻找较老的打印机,主要是HP Jetdirects。是的,我想要找到网络打印机的一种方法是通过在域控制器中查找它们,但如果您知道另一种方法来执行上述操作,那也很棒。 – QRohlf 2011-05-28 17:39:31

查找“所有”打印机是相当高的顺序。

但是我会建议使用SNMP走已知的端口。

一个很好的SNMP实现猫在

http://www.snmp4j.org/

被发现和这个网站有一个很好的解释你正在寻找

http://www.irongeek.com/i.php?page=security/networkprinterhacking