转自: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的网络拓扑发现 #### 概述 随着现代计算机网络的迅猛发展,网络管理的任务变得越来越复杂。确保网络管理系统能够高效运行的基础之一是网络拓扑发现。网络拓扑指的是计算机网络中各设备之间的...
虽然很小,它却可以完成一个简单的局域网自动发现搜索、多线程、ICMP和SNMP的ping、节点的生成、拓扑的展示、自动布局等功能。继续改巴改巴也许还有点使用价值也未可知。 如果不喜欢研究代码,就当它是一个趣味程序...
基于SNMP协议的网络拓扑发现程序,有代码,C++语言。 操作界面十分简单,只有“开始探测”,“设置参数”和“群Ping”三个功能,分别对应“空格”,“S”和“P”三个快捷键,其中设置参数功能提供更改参数设置的...
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. ...
1. 设备和链路的自动发现功能,支持通过SNMP和Ping协议来搜寻网络中的设备,并能识别设备的基本类型。使用IP范围、网络段范围、路由跳数或IP漫游等方式,结合LLDP、CDP、ICMP、ARP等技术,可以发现并识别设备间的...
SNMP插件:读取所需的SNMP OID Ping插件:Ping一组主机 如何使用 使用Maven构建项目。 该jar将位于./target目录中,所需的库位于./target/lib中 mvn install 第一次运行(配置文件位置可选)。 在第一次运行时,它...
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...
3、支持监测服务接口API、数通设备(如交换机、路由器、打印机)PING和SNMP监测、自定义监控指令等。自动生成网络拓扑图,大屏可视化,web SSH,统计分析报表,指令下发批量执行,FTP监测,资产管理,设备账号管理,...
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漫游发现方式等,通过SNMP和Ping协议发现设备,并识别设备的基本类型。 在设备发现的过程当中,通过LLDP、CDP、ICMP、ARP技术、邻居路由、端口转发表、STP生成树...
综上所述,快速获取局域网各网段电脑的IP地址和电脑名称是通过网络扫描、通信协议(如ping、ARP、SNMP、NetBIOS、WMI)实现的,可以用于网络管理、故障诊断等目的。在实际应用中,务必确保操作的合法性和安全性。
jicmp(Java Interface for ICMP)是 OpenNMS 实现网络设备可达性检测(如 Ping)的关键组件,通过原生代码高效处理 ICMP 报文,替代纯 Java 实现的性能瓶颈17。 依赖版本要求:OpenNMS 33.1.5 需 jicmp >= ...
jicmp(Java Interface for ICMP)是 OpenNMS 实现网络设备可达性检测(如 Ping)的关键组件,通过原生代码高效处理 ICMP 报文,替代纯 Java 实现的性能瓶颈17。 依赖版本要求:OpenNMS 33.1.5 需 jicmp >= ...
jicmp(Java Interface for ICMP)是 OpenNMS 实现网络设备可达性检测(如 Ping)的关键组件,通过原生代码高效处理 ICMP 报文,替代纯 Java 实现的性能瓶颈17。 依赖版本要求:OpenNMS 33.1.5 需 jicmp >= ...
在专业层面,审计人员和黑客有时会编写自定义工具,如使用 Perl、C、C++ 或 Java,以应对特定的侦察需求。市面上也有许多商业网络扫描工具,它们功能强大,但可能需要精细配置。这些工具能够监听和分析网络流量,...
实现用户的增加、修改、删除和查询,及用户权限的增加、 修改、删除与查询; 2. 实现重要数据库的自动备份、自动恢复; 3. 对对象数据库中数据进行加密和解密。 软件分发 1. 完成软件从同一源分发到多个目标机的...
1. **Java和Spring框架**:OpenNMS主要使用Java语言开发,利用Spring框架来实现依赖注入和模块化设计,确保系统可扩展性和灵活性。 2. **JMS(Java消息服务)**:OpenNMS使用JMS来处理事件和通知,实现异步通信,...
jicmp6 是 OpenNMS 用于实现 IPv6 网络设备可达性检测(如 ICMPv6 Ping)的核心组件,通过原生代码直接处理 IPv6 协议栈,避免纯 Java 实现的性能损耗78。 依赖版本要求:OpenNMS 33.x 及以上版本需 jicmp6 >= ...
jicmp6 是 OpenNMS 用于实现 IPv6 网络设备可达性检测(如 ICMPv6 Ping)的核心组件,通过原生代码直接处理 IPv6 协议栈,避免纯 Java 实现的性能损耗78。 依赖版本要求:OpenNMS 33.x 及以上版本需 jicmp6 >= ...
jicmp6 是 OpenNMS 用于实现 IPv6 网络设备可达性检测(如 ICMPv6 Ping)的核心组件,通过原生代码直接处理 IPv6 协议栈,避免纯 Java 实现的性能损耗78。 依赖版本要求:OpenNMS 33.x 及以上版本需 jicmp6 >= ...