用Java模仿简单的Ping命令

突然对Ping命令好奇,想用Java实现一下,所以简易的写了个模仿CMD里面Ping命令的程序,贴在下面。

import java.io.IOException;
import java.net.InetAddress;

public class Ping {

    public static void main(String[] args) throws IOException, InterruptedException {
        InetAddress address = InetAddress.getByName(args[0]);
        System.out.println("正在Ping "+args[0]+" ["+address.getHostAddress()+"] 具有32字节的数据");
        int flag=0;
        for (int i = 0; i < 4; i++) {
            boolean b=address.isReachable(1000);
            System.out.println("来自  "+address.getHostAddress()+" 的回复:  "+(b ?"成功":"失败"));
            if(b)
                flag++;
            Thread.sleep(1000);
        }
        System.out.println();
        System.out.println(address.getHostAddress()+" 的  Ping 统计信息:");
        System.out.println("    数据包:已发送 = 4, 已接收 = "+flag+" ,丢失 = "+(4-flag)+"("+(4-flag)/4*100+"% 丢失)");
    }

}

因为要从命令行输入要Ping的参数,所以不能在Eclipse中运行,只能在CMD中运行,运行结果如下:

Ping成功的:

Ping失败的:

时间: 2024-10-09 14:32:04

用Java模仿简单的Ping命令的相关文章

Swift和C混合Socket编程实现简单的ping命令

这个是用Mac下的Network Utility工具实现ping命令,用Wireshark抓取的ICMP数据包: 发送ICMP数据包内容 接受ICMP数据包内容 一.icmp结构 要真正了解ping命令实现原理,就要了解ping命令所使用到的TCP/IP协议.ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.ICMP协议是IP层的 一个协议,但是由于差错报告在发送给报文源发方时可能

[小菜随笔]python tkinter实现简单的ping命令

本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有一些支持库改变而已 首先我们使用python去编写一个简单的窗口程序,带一个按键,如下图 from tkinter import * #导入tk包 import os #导入os包,方便执行cmd命令,网上还有其他方法执行 test = Tk() #创建一个窗口程序 test.title('ping

Apache commons exec 简介和简单ping命令方法调用实现

Apache commonsexec提供一些常用的方法用来执行外部进程.Apache commons exec库提供了监视狗Watchdog来设监视进程的执行超时,同时也还实现了同步和异步功能. Apache commonsexec涉及到多线程,比如新启动一个进程,Java中需要再开三个线程来处理进程的三个数据流,分别是标准输入,标准输出和错误输出. 需要使用该功能需要引入commons-exec-1.3.jar包,目前最新的版本为1.3版本. 在日常工作和生活中,我们经常需要用到网络,网络有时

Centos7系统禁用ping命令的简单方法

一般情况下,可以使用ping命令简单了解某台远程服务器的延迟情况,以便大概了解访问速度情况. 但有时候会发现,当ping某台服务器的IP时,可能会出现ping不通的情况,但是却可以访问,这个是怎么回事?其实是这台服务器设置经用ping命令. 如果你使用的是centos7系统,不想别人ping你的主机话,可以通过设置禁用ping命令来实现,具体方法如下. 临时禁用ping 将/proc/sys/net/ipv4/icmp_echo_ignore_all文件里面的0临时改为1,从而实现禁止ICMP报

用ping命令简单的测试 延时、抖动、丢包率

在DOS命令状态下输入 :ping 202.105.135.211 -t (连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)就会得到下面的结果:Pinging 202.105.135.211 with 32 bytes of data:Reply from 202.105.135.211: bytes=32 time=93ms TTL=42Reply from 202.105.135.211: bytes=32 time=86ms TTL=42Reply from 202.10

ctrl+z的JAVA实现,借助了命令模式(command pattern)

前些天学习<<JAVA与模式>>,到命令模式时,随带给了一个CTRL+Z案例的实现,想来学习编程这么久,CTRL+Z还没有认真实现过. 因此,借助JAVA与模式里面的源代码,自己对撤销和回退进行了实现(JAVA与模式书中代码有部分问题).此次用到了命令模式,因为有界面,有按钮,有接收者,有发送者. 以下是类图,只为方便,未考虑UML细节规范. 以下是程序的实现. MainFrame类:提供Main方法,Client类:类似于看电视的人,这里关联了UndoableTextArea,I

PING命令入门详解(转载)

本文转自http://www.linkwan.com/gb/tech/htm/928.htm 1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下. Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. Ping有好

PING命令入门详解

1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下. Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. Ping有好的善的一面也有恶的一面.先说一下善的一面吧.上面已经说过Ping的用途就是用来检测网络的连同情

网络管理常用命令之一 - Ping命令详解

Ping命令... TTL:生存时间... 不带选项... -t 选项... -a 选项... -n 选项... -l 选项(Length)... -f 选项... Request timed out(请求超时) Destination host Unreachable(目标主机不可达) Bad IP address. Source quench received. 7 Unknown host No answer 1.Ping命令 在网络维护过程中,Ping命令是一个经常使用的DOS命令,它是