`

Java调用ping命令

阅读更多
package cn.com.songjy;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Ping {

	public static void main(String[] args) throws IOException {
		System.out.println(ping("127.0.0.1", 1));
		System.out.println("************************************");
		System.out.println(ping("www.baidu.com", 35));
	}

	/**
	 * 
	 * @param target_name
	 *            IP地址或域名
	 * @param out_time
	 *            超时间隔,单位为毫秒
	 * @return
	 * @throws IOException
	 */
	public static boolean ping(String target_name, int out_time)
			throws IOException {

		Runtime runtime = Runtime.getRuntime();

		String ping_command = "ping " + target_name + " -w " + out_time;

		System.out.println("命令格式:" + ping_command);

		Process process = runtime.exec(ping_command);

		if (null == process)
			return false;

		BufferedReader bufferedReader = new BufferedReader(
				new InputStreamReader(process.getInputStream(), "GBK"));// windows下编码默认是GBK,Linux是UTF-8

		String line = null;

		while (null != (line = bufferedReader.readLine())) {

			System.out.println(line);

			if (line.startsWith("Reply from"))
				return true;
			if (line.startsWith("来自"))
				return true;
		}
		
		bufferedReader.close();

		return false;
	}

}
/* 这里只是简单检测是否能通,如果还需要更详细信息可查看ping命令的介绍 */


效果图如下:


以下来自java Ping域名网络工具类PingUtils.java源代码分享
package demo;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class PingUtils {

	public static Domain ping(String domian) {
		long start = System.currentTimeMillis();
		Domain result = new Domain();
		try {
			InetAddress address = InetAddress.getByName(domian);
			result.ip = address.getHostAddress();
			result.host = address.getHostName();
			long end = System.currentTimeMillis();
			result.time = (end - start);
		} catch (UnknownHostException e) {
			result.ip = "0.0.0.0";
			result.host = "UNKONW";
		}
		return result;
	}

	public static class Domain {
		String ip;
		String host;
		long time;

		@Override
		public String toString() {
			return String.format("host=%s, ip=%s, time=%s", host, ip, time);
		}
	}
	
	public static void main(String[] args) {
		Domain domain = ping("www.baidu.com");
		System.out.println(domain);
	}
}

效果如下:


java 调用shell命令

java使用dos命令创建文件夹

JAVA执行bat文件和shell脚本文件

del命令和rd命令
  • 大小: 25.9 KB
  • 大小: 24.5 KB
  • 大小: 16.5 KB
分享到:
评论

相关推荐

    java中ping命令ping工具类(循环ping)

    java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...

    java工程 实现调用系统命令ping

    自己做的java调用ping命令实例 地址使用的是套接字地址 ping的主机用sping注入

    用java实现ping的几种方式

    用java实现ping的几种方式:纯Java实现ICMP的ping命令,JAVA调用外部EXE实现PING功能,ICMP Ping in Java(JDK 1.5 and above),最简单的办法,直接调用CMD

    Java零基础 - ping命令.md

    本文档介绍了如何在Java中使用ProcessBuilder类执行ping命令,以检测主机的网络连通性。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码执行ping命令并解析结果。 内容概要 本文档涵盖...

    Java简单实现调用命令行并获取执行结果示例

    主要介绍了Java简单实现调用命令行并获取执行结果,结合实例形式分析了Java调用ping命令并获取执行结果相关操作技巧,需要的朋友可以参考下

    java_icmp_ping

    使用Java语言开发 基于ICMP协议 仿Windows系统的Ping程序 简单实现 使用了Jpcap 计算机网络课程设计的作业

    ping:在Java中Linux中执行ping的服务器-客户端实现

    如果从终端运行,请确保目录并使用以下命令对其进行编译:服务器编译-> javac UDP_Server.java Server_Receive.java NextGaussian.java服务器运行-> java UDP_Server'port'//输入要在其上运行的端口您想打开不带...

    多线程ping

    这是一个多线程的ping命令,可以同时ping一段网络地址,属于异步ping!仅希望大家作为参考学习!

    Android中实现ping功能的多种方法详解

    方法来直接调用系统的Ping命令,也有人完成了纯Java实现Ping的程序,使用的是Java的NIO包(native io, 高效IO包)。但是设备检测只是想测试一个远程主机是否可用。所以,可以使用以下三种方式来实现: 1. Jdk1.5的...

    JAVA SWING 多线程扫描局域网IP及端口 shellping v2

    扫描同一网段的IP主要是用SHELL方法 使用PING命令并判断返回值内容 从而确定服务器是否打开 扫描端口的原理是使用socket类判断是否连接成功 点击“目标IP段”标签,可以直接扫描自己主机IP(测试用功能) 需要...

    java 实现局部的控制台命令

    本程序用java所作,可以直接调用windows内部的一些命令(本命令具有一定的极限向) 用法: 在上面的文本框里输入一条可以脱离cmd窗口的命令然后点”确认”就可以 如果要是有返回结果在下面就会显示出来 例如调用...

    JAVA SWING 多线程实现扫描同一个网段的IP,以及选定IP的端口

    从扫描同一个网段的IP开始 逐步添加功能 现在还具有了扫描选定IP的常见TCP UDP端口 包括部分常见木马所使用端口 并可以自定义扫描端口 扫描同一网段的IP主要是用SHELL方法 使用PING命令并判断返回值内容 从而确定...

    clamav-java:简单的ClamAV客户端,用于将数据流式传输到Clamd服务器

    支持基本的INSTREAM扫描和PING命令。 此处介绍了Clamd协议: ://linux.die.net/man/8/clamd 可以从另一个存储库找到REST风格的API和服务器。 使用客户端 代码是不言自明的。 这样的想法是这样的: ClamAVClient ...

    linux命令.txt

    ping 5. kill 6. man 7.clear 8.netstat 4. 软件管理 - dpkg :离线 .deb .rpm .apk - apt-get :在线 5. 压缩解压 tar -cxgzvf 打包后的文件 要打包的文件 6. vim 的使用 三种模式 7. ssh理解 secure ...

    java windows 计时工具

    java虚拟机配置 在默认情况下,程序启动时会使用自身的jre(以下所说的jar为java虚拟机1.6.0以上版本,低版本则无法启动程序)。 在主目录(安装目录、程序所在的目录)的“jre1.6”目录下,如果没有则需要在主目录...

    Ping:简单的 Bukkit 插件,以毫秒为单位显示当前玩家的 ping

    平这个插件除了 ping /ping命令发布者或特定播放器之外什么都不做。权限允许目的默认ping.self 使用/ping自己真的ping.others 使用/ping 其他玩家操作员截图依赖关系没有任何版本1.1执照

    oracl常见问题.

    如果可以使用ping 命令,可以更换使用该命令: 下面的命令将检查远程主机是否可用并会返回一个状态消息:ping host_name 注释: telnet,它为用户提供了在本地计算机上完成远程主机工作的能力(即远程登录).要开始一个...

    java写的网络监控系统网络数据采集模块.zip

    java写的网络监控系统网络数据采集模块,基于java NIO,并没有使用MINA、netty等框架,主要通过采集端间歇性执行ping,telnet,tracert命令对执行的目标机器进行网络监控,并将监控结果汇总到服务器数据库。...

    upd-ping-client:基于UDP的多线程ping客户端,它模拟正在发送到服务器的ICMP回显请求

    计算机网络项目实现了与提供的ping服务器通信的基于UDP的ping...可以使用以下命令运行ping服务器: java -jar pingserver.jar --port=<port> [--loss_rate=] [--bit_error_rate=] [--avg_delay=] loss_rate,bit_er

    核心:有用的Bukkit命令

    例如,如果您要创建一个名为“ ping”的命令,该命令仅在聊天中打印单词“ pong”,则实现方式如下: @BukkitCommand ( labels = { " ping " })public static boolean ping( CommandSender sender, Command cmd, ...

Global site tag (gtag.js) - Google Analytics