`

SNMP走查使用工具

阅读更多
snmp工具
package com.boonya.mecache.store;
import org.snmp4j.CommunityTarget;
import org.snmp4j.UserTarget;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.TcpAddress;
import org.snmp4j.smi.UdpAddress;
/**
 * @see http://sjsky.iteye.com
 * @author michael
 * 
 */
public class SnmpUtil {

    public static final int DEFAULT_VERSION = SnmpConstants.version2c;
    public static final String DEFAULT_PROTOCOL = "udp";
    public static final int DEFAULT_PORT = 161;
    public static final long DEFAULT_TIMEOUT = 3 * 1000L;
    public static final int DEFAULT_RETRY = 3;

    /**
     * 创建共同体对象communityTarget
     * @param address
     * @param community
     * @return CommunityTarget
     */
    public static CommunityTarget createMyDefaultTarget(String address,
            String community) {
        Address targetAddress = GenericAddress.parse(address);
        CommunityTarget target = new CommunityTarget();
        target.setCommunity(new OctetString(community));
        target.setAddress(targetAddress);
        target.setVersion(DEFAULT_VERSION);
        target.setTimeout(DEFAULT_TIMEOUT);// milliseconds
        target.setRetries(DEFAULT_RETRY);
        return target;
    }

    /**
     * 创建共同体对象communityTarget
     * @param targetAddress
     * @param community
     * @param version
     * @return CommunityTarget
     */
    public static CommunityTarget createCommunityTarget(Address targetAddress,
            String community, int version) {
        CommunityTarget target = new CommunityTarget();
        target.setCommunity(new OctetString(community));
        target.setAddress(targetAddress);
        target.setVersion(version);
        return target;
    }

    /**
     * 创建共同体对象communityTarget
     * @param targetAddress
     * @param community
     * @param version
     * @param timeOut
     * @param retry
     * @return CommunityTarget
     */
    public static CommunityTarget createCommunityTarget(Address targetAddress,
            String community, int version, long timeOut, int retry) {
        CommunityTarget target = new CommunityTarget();
        target.setCommunity(new OctetString(community));
        target.setAddress(targetAddress);
        target.setVersion(version);
        target.setTimeout(timeOut); // milliseconds
        target.setRetries(retry);
        return target;
    }

    /**
     * 创建共同体对象communityTarget
     * @param address
     * @param community
     * @param version
     * @param timeOut
     * @param retry
     * @return CommunityTarget
     */
    public static CommunityTarget createCommunityTarget(String address,
            String community, int version, long timeOut, int retry) {
        Address targetAddress = GenericAddress.parse(address);
        return createCommunityTarget(targetAddress, community, version,
                timeOut, retry);
    }

    /**
     * 创建snmp Address
     * @param protocol
     * @param ip
     * @param port
     * @return Address
     */
    public static Address createAddress(String protocol, String ip, int port) {
        String address = protocol + ":" + ip + "/" + port;
        return GenericAddress.parse(address);
    }

    /**
     * 创建snmp udp Address
     * @param ip
     * @param port
     * @return Address
     */
    public static Address createUdpAddress(String ip, int port) {
        String address = ip + "/" + port;
        return new UdpAddress(address);
    }

    /**
     * 创建snmp tcp Address
     * @param ip
     * @param port
     * @return Address
     */
    public static TcpAddress createTcpAddress(String ip, int port) {
        String address = ip + "/" + port;
        return new TcpAddress(address);
    }

    /**
     * 创建 UserTarget
     * @param targetAddress
     * @param version
     * @param timeOut
     * @param level
     * @param securityName
     * @return UserTarget
     */
    public static UserTarget createUserTarget(Address targetAddress,
            int version, long timeOut, int level, String securityName) {
        UserTarget target = new UserTarget();
        target.setAddress(targetAddress);
        target.setRetries(1);
        target.setTimeout(timeOut); // milliseconds
        target.setVersion(version);
        target.setSecurityLevel(level);
        target.setSecurityName(new OctetString(securityName));
        return target;
    }

    /**
     * 创建 UserTarget
     * @param address
     * @param version
     * @param timeOut
     * @param level
     * @param securityName
     * @return UserTarget
     */
    public static UserTarget createUserTarget(String address, int version,
            long timeOut, int level, String securityName) {
        Address targetAddress = GenericAddress.parse(address);
        return createUserTarget(targetAddress, version, timeOut, level,
                securityName);
    }
}

分享到:
评论

相关推荐

    代码走查工具介绍

    代码走查工具如CheckStyle的使用不仅能够提高代码质量,还能促进团队间的沟通,因为大家都遵循统一的编码规范。此外,通过持续集成和持续部署(CI/CD)流程,可以在早期阶段就发现问题,避免了在后期测试或生产环境...

    PC-Lint代码走查工具

    **PC-Lint代码走查工具**是针对C/C++编程语言的一款强大静态代码分析工具,由Gimpel Software公司开发。这款工具旨在帮助开发者在代码编写阶段就能发现潜在的错误、漏洞和不规范之处,从而提升软件质量和可靠性。PC-...

    代码走查工具.pptx

    标题:“代码走查工具.pptx” 描述:本文件详细介绍了多种代码走查工具,旨在指导用户如何利用这些工具提升编程效率与代码质量。重点涵盖了Stylecheker、Findbugs等工具在MyEclipse中的应用,包括插件安装及基本...

    Idea代码走查工具FindBus使用以及缺陷分析(含插件)

    FindBugs是一个静态分析工具,用于在Java程序中发现可能存在的bug。它通过检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs不注重代码风格和格式,而是专注于检测真正的bug及潜在的...

    代码走查工具插件checkstyle最新版本

    **代码走查工具Checkstyle详解** Checkstyle是一款强大的开源代码质量检查工具,它主要用于静态分析Java源代码,帮助开发者遵循编码规范,确保代码的一致性和可读性。最新版本的Checkstyle插件提供了更多的功能和...

    代码走查工具 checkstyle findbugs 中文

    Checkstyle 和 FindBugs 是两款广泛使用的开源静态代码分析工具,它们可以帮助开发者在编码阶段就发现并修复问题,从而避免在后期阶段出现更复杂、更难以解决的错误。 Checkstyle 是一个强大的 Java 代码风格检查...

    代码走查工具—PCLint.ppt

    PCLint是一款由Gimpel Software公司开发的C/C++静态代码分析工具,其主要功能是对源代码进行深度检查,找出潜在的语法错误、逻辑缺陷、风格问题和不合规之处。不同于编译器,PCLint在程序编译链接成功后仍能进行检查...

    代码走查工具CheckStyle插件的安装和使用

    CheckStyle是一款非常流行的开源代码走查工具,主要用于检查Java代码是否符合特定的编码风格和最佳实践。本篇文章将详细介绍CheckStyle插件的安装与使用。 **一、CheckStyle简介** CheckStyle是一款静态代码分析...

    snmp4j.rar_SNMP_SNMP4J.jar_snmp4j的jar包_网络设备监控

    总的来说,SNMP4J是一个强大的工具,它简化了Java开发者在SNMP网络管理中的工作,使得监控和控制网络设备变得更加便捷和高效。通过深入理解和实践,你可以构建出功能丰富的网络管理系统,有效地提升网络运维的效率和...

    代码走查工具—pcLint

    很实用的pclint学习课件。学习pclint菜鸟必掌握

    前端-代码走查模板.docx

    5. **其他最佳实践**:遵循ESLint等代码风格检查工具的规则,保持代码一致性。避免在`computed`属性中改变状态,应该使用`watch`。防止重复定义变量,避免引起混淆。 代码走查不仅仅是查找和修复错误,更重要的是...

    C#代码走查,代码格式化工具及注册机

    本篇将深入探讨“C#代码走查”、使用“StyleCop”进行代码规范检查,以及“Resharper”这款强大的IDE插件,包括如何获取和安装它们。 首先,我们来看“代码走查”。代码走查是一种软件质量保证活动,通过同行审查源...

    代码走查工具-jupiter

    Jupiter是一款开源的Eclipse插件,以XML形式存储review数据,通过SVN/CVS将review结果在团队内共享。一个很方便的功能是其建立了review问题跟具体源代码的对应关系(通过点击review问题列表中的问题可以跳转到对应的...

    java代码走查计划书.doc

    在个人走查阶段,评审人员执行个人走查,利用工具记录发现的问题。在代码走查会议阶段,小组走查会议,完成缺陷记录报告。在缺陷修改与关闭阶段,开发人员完成代码修改,评审人员再次走查修改过的代码,直至问题关闭...

    代码走查规范文档

    代码走查规范文档

Global site tag (gtag.js) - Google Analytics