Tag: snmp

从Java应用程序发送陷阱

从Java应用程序发送陷阱的最简单方法是什么? 提前致谢!

如何在SNMP4J中使用非对称密钥或证书身份validation?

我正在开发一个项目,希望能够使用证书或密钥作为SNMPv3的身份validation方法。 我们正在使用java库SNMP4J 。 在我的研究过程中,我发现SNMP使用TLS / DTLS进行消息加密,并且据称也用于身份validation。 来源1 | 来源2 | 来源3 查看SNMP4J的小文档,我发现它允许使用TLS证书加密流量。 但我不确定如何使用公钥/私钥对进行身份validation。 TLS流量加密示例 | SNMP4J文档 任何帮助,将不胜感激。

如何通过SNMP查找打印机的计数器

我目前正在开展一个项目,涉及通过SNMP从打印机获取信息。 现在,我一直在测试/工作的打印机是Lexmark X950。 我一直在努力解决的问题是,我希望这个程序适用于HP或Kyocera或Brother打印机,但我使用的OID似乎只适用于Lexmark。 以下是我使用的一些OID: Count total printed 1.3.6.1.4.1.641.2.1.5.1 count total printed since last boot 1.3.6.1.2.1.43.10.2.1.5 count total printer black 1.3.6.1.4.1.641.2.1.5.2 count total printed color 1.3.6.1.4.1.641.2.1.5.3 count total copied black 1.3.6.1.4.1.641.2.1.5.7 正如你在这里看到的,我主要使用1.3.6.1.4.1.641作为我的OID,但它们只适用于Lexmark。 是否有更常用的OID可以使用,找出黑色/彩色打印的页数,黑色/彩色复印,黑色/彩色传真和不同方式扫描(单面,双面,平板),我可以用于基本上任何打印机? 问候。

使用线程按块处理文件块

我有一个由5000个IP地址组成的arraylist。 对于每个IP地址,我想执行SNMPGet请求和FTPDownload命令。 我想以一种方式实现它,其中一次为前五个IP地址同时运行2个不同的线程。 在执行这些IP地址之后,将在这些线程上执行接下来的2个IP地址。 任何人都可以帮忙怎么做? 这里,connection是一个扩展线程的类,要实现的工作是在run()方法中编写的。 请帮忙。 Connection newConnection =new Connection(0); Connection newConnection1 =new Connection(1); for(int i = 0; i < NE_list.getRowCount(); i=i+2) { if(NE_list.getValueAt(i, 0).toString().equals("true")) //Some condition here for the IP Address { newConnection.i=i; newConnection1.i=i+1; newConnection.runprogram(); newConnection1.runprogram(); } } class Connection extends Thread{ int i; Connection(int val){ i=val; } void runprogram(){ start(); } public […]

Java获取MIB中OID的名称/描述

我正在编写网络管理系统,并且需要能够在从SNMP陷阱接收的OID后面打印出有意义的名称。 由于该系统的性质/大小,在每个正在使用的设备上手动将每个OID映射到有意义的名称并不是一个好主意。 话虽如此,是否有一种免费(商业用途)方式自动将名称/描述与其各自的OID配对,用于MIB中的所有OID; 然后这些配对在Java程序中使用? 换句话说,是否有工具或方法将MIB树转换为可在程序中遍历的Java对象以检索OID的名称/描述? 谢谢

如何在Java中获得打印机的品牌和型号?

我实际上正在开发一个将打印机共享到服务器的Java应用程序,我需要这个应用程序来获取它共享的打印机的品牌和型号。 我知道这个问题被问了三四次,但似乎没有人找到答案。 我试过这段代码: PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null); for (PrintService printer : printServices){ System.out.println(printer.getDefaultAttributeValue(PrinterMakeAndModel.class)); System.out.println(printer.getAttribute(PrinterURI.class)); } 第一个打印始终返回一个空字符串,第二个打印出一个NullPointerException 。 一些研究引导我访问此页面: http : //bugs.sun.com/bugdatabase/view_bug.do?video_id = 4673400 这似乎是一个知道“错误”,我真的不理解评估。 我想解决方法是通过向打印机发送SNMP请求来获取make和model,但我不知道有关SNMP的事情,我不确定是否有单个SNMP命令来获取make和model任何打印机。 如果有人知道如何实现这一点,无论是通过使用Java方法还是通过发送SNMP命令或任何可在任何操作系统上完成的任何其他操作,您的帮助将不胜感激。 编辑: 以下是指向同一问题的主题的链接: 如何在javax.print中获取打印机的型号? 编辑2: 方案: 正如我在评论中所说,我试图通过将OID“1.3.6.1.2.1.25.3.2.1.3.1”发送到打印机来通过SNMP获取make和model。 它似乎工作,但我不确定它是否适用于使用相同OID的任何打印机,如果在目标打印机上停用SNMP,它可能会崩溃。 所以我最终选择使用JNA和Winspool.drv获取驱动程序名称。 其中一部分已在JNA中实现,但我必须添加一些结构和function。 这是JNA中现有WinspoolUtil.java和Winspool.java类的链接。 以下是我对这两个类的个人更新的代码。 温斯普尔: import java.util.Arrays; import java.util.List; import com.sun.jna.Memory; import com.sun.jna.Native; import com.sun.jna.Pointer; import com.sun.jna.Structure; import com.sun.jna.platform.win32.WinDef.DWORD; import com.sun.jna.platform.win32.WinDef.INT_PTR; […]

SNMP4J入门

我需要在SNMP4J中创建一个代理,但是关于如何开始的文档很差。 有没有人有任何SNMP4J的经验,可以给我一个关于如何入门的想法? 谢谢。