`

Java实现ping及 snmp ping

 
阅读更多
转自:http://www.blogjava.net/javagrass/archive/2011/05/20/350688.html
一.Java实现
Java实现ping用Java来Ping机器,有两个做法。一个是传统的调用命令行执行Ping命令的做法。这种做法的好处是速度快,比较可靠。缺点 是,不同的操作系统,甚至Windows的不同版本,其执行和返回结果格式都可能不同,造成跨平台的不便以及代码的啰嗦。第二个方法自然就是使用大家都熟 知的Java 5提供的InetAddress的isReachable方法。这个函数并非使用ICMP的ping,而是仅仅用TCP连一下7号端口而已。参考代 码:
public static boolean ping(String ip) {
        try { 
            InetAddress ipaddress = InetAddress.getByName(ip); 
            return ipaddress.isReachable(2000); 
        } catch (Exception ex) { 
            ex.printStackTrace(); 
            return false; 
        } 
    } 

二.SNMP实现ping
所谓SNMP Ping其实就是用SNMP去get一个非常基本的OID看对方有无反应。如果能够返回数据,说明这是一个SNMP节点,可以通过SNMP配合MIB库去 获取更多的业务数据。例如磁盘、CPU、内存、端口力量等等基本的信息,都有相关的SNMP MIB进行定义。

SnmpContextv2c context = new SnmpContextv2c(ip, 161); 
context.setCommunity("public"); 
BlockPdu pdu = new BlockPdu(context); 
pdu.setRetryIntervals(new int[] { 1000 }); 
String sysUpTime = "1.3.6.1.2.1.1.3.0"; 
pdu.addOid(sysUpTime); 
Object result = pdu.getResponseVariable(); 

代码中用v2c,并假设community是public,超时时间1秒。获取sysUpTime也就是设备启动时间。如果有返回,认为节点存在且SNMP协议已启动。
分享到:
评论

相关推荐

    基于SNMP和Java的网络拓扑发现

    ### 基于SNMP和Java的网络拓扑发现 #### 概述 随着现代计算机网络的迅猛发展,网络管理的任务变得越来越复杂。确保网络管理系统能够高效运行的基础之一是网络拓扑发现。网络拓扑指的是计算机网络中各设备之间的...

    snmp_demo.zip_java 趣味程序_java和snmp拓扑_snmp网络拓扑_拓扑发现_网络拓扑布局

    虽然很小,它却可以完成一个简单的局域网自动发现搜索、多线程、ICMP和SNMP的ping、节点的生成、拓扑的展示、自动布局等功能。继续改巴改巴也许还有点使用价值也未可知。 如果不喜欢研究代码,就当它是一个趣味程序...

    基于SNMP协议的网络拓扑发现程序

    基于SNMP协议的网络拓扑发现程序,有代码,C++语言。 操作界面十分简单,只有“开始探测”,“设置参数”和“群Ping”三个功能,分别对应“空格”,“S”和“P”三个快捷键,其中设置参数功能提供更改参数设置的...

    Essential SNMP

    Java and SNMP Section 14.1. SNMP4J Section 14.2. SNMP getnext Section 14.3. SNMP set Section 14.4. Sending Traps and Informs Section 14.5. Receiving Traps and Informs Section 14.6. ...

    基于Java开发的免费网络拓扑软件-SugarNMSTool

    1. 设备和链路的自动发现功能,支持通过SNMP和Ping协议来搜寻网络中的设备,并能识别设备的基本类型。使用IP范围、网络段范围、路由跳数或IP漫游等方式,结合LLDP、CDP、ICMP、ARP等技术,可以发现并识别设备间的...

    HomeInflux:从Hue Sensors,FritzBox,SNMP等收集数据,并将其发送到influxdb

    SNMP插件:读取所需的SNMP OID Ping插件:Ping一组主机 如何使用 使用Maven构建项目。 该jar将位于./target目录中,所需的库位于./target/lib中 mvn install 第一次运行(配置文件位置可选)。 在第一次运行时,它...

    pj-net-tools:纯 Java 网络工具-开源

    09) Network Ping-Scanner, 10) Snmp-Get 具体价值实用程序。 需要 JRE-1.8:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html。 来源 - https://github.com/harp077/pj-net-tools...

    WGCLOUD是一款Linux运维监控工具,支持系统硬件信息,.rar

    3、支持监测服务接口API、数通设备(如交换机、路由器、打印机)PING和SNMP监测、自定义监控指令等。自动生成网络拓扑图,大屏可视化,web SSH,统计分析报表,指令下发批量执行,FTP监测,资产管理,设备账号管理,...

    SugarNMSTool 网络管理工具 V2.1

    可以按IP起始范围、网络段范围、路由跳转搜索、IP漫游发现方式等,通过SNMP和Ping协议发现设备,并识别设备的基本类型。 在设备发现的过程当中,通过LLDP、CDP、ICMP、ARP技术、邻居路由、端口转发表、STP生成树...

    pj-net-tools:纯Java网络工具-开源

    09)Network Ping-Scanner,10)Snmp-Get具体价值实用程序。 需要JRE-1.8:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html。 来源-https://github.com/harp077/pj-net-tools 请...

    快速获取局域网各网段电脑ip及电脑用户名源码

    综上所述,快速获取局域网各网段电脑的IP地址和电脑名称是通过网络扫描、通信协议(如ping、ARP、SNMP、NetBIOS、WMI)实现的,可以用于网络管理、故障诊断等目的。在实际应用中,务必确保操作的合法性和安全性。

    网络安全基础知识之侦察与工具

    在专业层面,审计人员和黑客有时会编写自定义工具,如使用 Perl、C、C++ 或 Java,以应对特定的侦察需求。市面上也有许多商业网络扫描工具,它们功能强大,但可能需要精细配置。这些工具能够监听和分析网络流量,...

    网络听诊管理监控系统.part01

    实现用户的增加、修改、删除和查询,及用户权限的增加、 修改、删除与查询; 2. 实现重要数据库的自动备份、自动恢复; 3. 对对象数据库中数据进行加密和解密。 软件分发 1. 完成软件从同一源分发到多个目标机的...

    opennms1.12.5-1源码下载

    1. **Java和Spring框架**:OpenNMS主要使用Java语言开发,利用Spring框架来实现依赖注入和模块化设计,确保系统可扩展性和灵活性。 2. **JMS(Java消息服务)**:OpenNMS使用JMS来处理事件和通知,实现异步通信,...

    ICMPSNMP的路由搜索源程序

    "www.pudn.com.txt"可能是一个文档,包含了获取该程序的来源信息或者使用说明,而"源程序"则很可能是指实际的代码文件,可能是用C++、Python、Java等编程语言编写,用于实现ICMPSNMP路由搜索功能的程序源代码。...

    2009年全国中等职业学校计算机技能大赛(模拟试题一).pdf

    模拟试题一涉及了多个IT领域的实践操作,包括网络设备连接、配置、网络安全、IP地址分配、路由协议、NAT转换、ACL控制、DHCP服务、端口镜像、ARP防欺骗、MSTP协议及带宽管理、组播配置等。下面我们将详细讨论这些...

    WLAN网络监控系统使用维护手册宣贯.pdf

    Apache Tomcat 是一种开源的Web服务器和Servlet容器,用于运行Java Servlet和JavaServer Pages (JSP)。在WLAN网络监控系统中,Tomcat可能用于作为网络管理软件的后端服务,提供Web界面供管理员监控网络状态。监控...

    获得局域网中计算机的列表(包括计算机名,ip和mac)的方法.rar

    - Java、C#等其他编程语言也有相应的库支持网络扫描和信息获取。 4. **网络管理协议**: - 通过SNMP(Simple Network Management Protocol)协议,可以查询网络设备的状态,包括其名称和物理地址。不过,这需要...

    zenoss_event_management_exercises_toc

    - `group-100-linux.class.example.org`:基于FC3的操作系统,运行三个模拟Cisco路由器、两个Cisco交换机以及几个可Ping设备的仿真环境。 #### 二、术语约定 - **斜体文本**:表示需要输入的文字或选择的菜单选项...

    3 交换机的工作原理及其配置.ppt

    交换机是网络设备中的核心组件,负责在网络中转发数据包,实现不同设备之间的通信。本章主要探讨交换机的工作原理及其配置,旨在帮助学生全面掌握交换机管理的各个方面。 首先,交换机有多种管理模式,包括带外管理...

Global site tag (gtag.js) - Google Analytics