java 在Win或liunx ping ip地址看是否可以ping通

话不多说直接上代码

class text{
    public static void main(String[] args) {
         boolean isSuccess = ping("192.168.1.218");
    }

     private boolean ping(String ip) {
        log.info("ping ip:" + ip);
        //os:1-windows、2-linux
        int os = 2;

        BufferedReader in = null;
        Runtime r = Runtime.getRuntime();

        String pingCommand = "";
        String pingCommand1 = "ping " + ip + " -n 5 -w 10";
        String pingCommand2 = "ping " + ip + " -c 5 -W 10";
        if (os == 1) {
            pingCommand = pingCommand1;
        } else {
            pingCommand = pingCommand2;
        }

        try {
            Process p = r.exec(pingCommand);
            if (p == null) {
                return false;
            }
            in = new BufferedReader(new InputStreamReader(p.getInputStream()));

            int connectedCount = 0;
            String line = null;
            while ((line = in.readLine()) != null) {
                log.info("line:" + line);
                connectedCount += getCheckResult(line);
            }
            log.info("count:" + connectedCount);
            return (connectedCount >= 1);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private int getCheckResult(String line) {
        if ((line.contains("ttl=") || line.contains("TTL=")) && line.contains("ms")) {
            return 1;
        }
        return 0;
    }
}
 

有帮助的话记得点赞收藏

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Linux系统中的ping命令用于测试与目标主机的网络连接。要使用ping命令,您可以按照以下步骤进行操作: 1. 打开终端或命令行界面。 2. 输入以下命令: ``` ping 目标主机的IP地址或域名 ``` 例如,要ping百度的IP地址(220.181.38.148),您可以输入: ``` ping 220.181.38.148 ``` 或者,要ping百度的域名(www.baidu.com),您可以输入: ``` ping www.baidu.com ``` 3. 按下回车键开始执行ping命令。 4. 系统将发送一系列的网络数据包到目标主机,并等待目标主机的响应。 5. 如果目标主机能够正常响应,您将看到类似以下的输出: ``` PING 目标主机的IP地址或域名 (目标主机的IP地址) 56(84) bytes of data. 64 bytes from 目标主机的IP地址: icmp_seq=1 ttl=64 time=0.043 ms 64 bytes from 目标主机的IP地址: icmp_seq=2 ttl=64 time=0.056 ms ... ``` 这表示您的系统与目标主机之间的网络连接是畅的。 6. 如果目标主机无法响应,您将看到类似以下的输出: ``` PING 目标主机的IP地址或域名 (目标主机的IP地址) 56(84) bytes of data. From 您的IP地址 icmp_seq=1 Destination Host Unreachable From 您的IP地址 icmp_seq=2 Destination Host Unreachable ... ``` 这表示您的系统无法与目标主机建立网络连接。 请注意,要使用ping命令,您需要具有适当的网络权限。在某些情况下,系统管理员可能会禁用ping命令或限制对特定目标主机的ping访问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开发技术控

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值