美文网首页
Ping工具

Ping工具

作者: 帅气Name | 来源:发表于2017-07-18 12:06 被阅读61次

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。

它是用来检查网络是否通畅或者网络连接速度的命令。

原理:

利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,延时是多少。

使用Ping这命令来测试网络连通:

第一步
使用ipconfig观察本地网络设置是否正确。

第二步
cmd中输入 Ping 127.0.0.1 命令。

127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好。

第三步
cmd中输入 Ping本机IP地址 。

为了检查本机的IP地址是否设置有误。

第四步
cmd中输入 Ping本网网关或本网IP地址 (在非局域网中这一步骤可以忽略)

为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常。

第五步
cmd中输入 Ping远程IP地址。

这主要是检查本网或本机与外部的连接是否正常。


注意:

Ping 127.0.0.1:127.0.0.1是本地循环地址(如果不能正常连接,会阻塞线程)
如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

在安卓中使用:

   public int executeCommand(final String command, final long timeout) throws IOException, InterruptedException, TimeoutException {
        Process process = Runtime.getRuntime().exec("ping -c 3 "+command);
        PingWorker worker = new PingWorker(process);
        worker.start();
        try {
            // 先让worker线程执行一段时间
            worker.join(timeout);
            // 判断eixt是否存在,不存在的话抛出超时异常,
            if (worker.exit != null){
                return worker.exit;
            } else{
                throw new TimeoutException();
            }
        } catch (InterruptedException ex) {
            worker.interrupt();
            Thread.currentThread().interrupt()
            throw ex;
        } finally {
            process.destroy();
        }
    }

   private class PingWorker extends Thread{
        private final Process process;
        private Integer exit;

        private PingWorker(Process process){
            this.process = process;
        }

        @Override
        public void run() {
            try {
                //这里容易阻塞线程
                exit = process.waitFor();
            } catch (InterruptedException e) {
                return;
            }
        }
    }

相关文章

  • Ping工具

    PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送...

  • Ping of Death攻击实现

    Ping of Death工具使用ICMP ping消息。Ping消息用于查看网络上的主机是否处于活动状态.Pin...

  • 网络基础-常用的网络诊断命令

    常用的工具有ping,traceroute,按照工具的作用,原理,用法三个维度来理解。 一、ping 1.作用 探...

  • note_13.5_网络客户端工具

    网络客户端工具 ping/lftp/ftp/lftpget/wget等; ping命令:send ICMP ECH...

  • 7.制作的ping库

    1.ping 是什么? ping(网络诊断工具),用于测试网络连接量的程序.利用ping命令可以检查网络的是否连通...

  • EasyPing for Mac 2.1 下载 – 网络PING

    EasyPing 是一款Mac上的网络PING工具,可以让我们在Mac电脑上快速进行ping网址或是ping IP...

  • [转]Ping的工作过程及单向Ping通的原因

    原文:Ping的工作过程及单向Ping通的原因 当网络出现问题时,我们最常用的测试工具就是“Ping”命令了。但有...

  • 在IOS平台实现Ping 和 traceroute

    ping 命令 Ping是为了测试另一台主机是否可达,现在已经成为一种常用的网络状态检查工具。 常见的ping命令...

  • 魔盒PING的几种用法

    魔盒里有一个功能叫PING,好多资深网工都跟我说,他很喜欢魔盒的ping哈,没错!我们有信心,ping工具中体验最...

  • vps测速与来路

    1.本地ping运行 2.测全国ping 3.测来路 4.使用【best trace】工具测试本地路由追踪

网友评论

      本文标题:Ping工具

      本文链接:https://www.haomeiwen.com/subject/rieckxtx.html