Java PING 一系列 IP 地址

风险

ping 单个 IP 地址的 Java 程序

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

public class PingIP {

  public static void runSystemCommand(String command) {

        try {
            Process p = Runtime.getRuntime().exec(command);
            BufferedReader inputStream = new BufferedReader(
                    new InputStreamReader(p.getInputStream()));

            String s = "";
            // reading output stream of the command
            while ((s = inputStream.readLine()) != null) {
                System.out.println(s);
            }
....
}

但是我可以使用 java ping 一系列 IP 地址吗?

克里斯特纳

如果你只是想执行一个 bash 命令来 ping 一个范围,你最好使用 nmap

一个工作示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws IOException, InterruptedException {
        final List<String> command = new ArrayList<>();

        command.add("nmap");
        command.add("-T5");
        command.add("-sP");
        command.add("172.19.0.0-255");

        executeCommand(command);
    }

    private static int executeCommand(final List<String> command) {
        try {
            final ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash").command(command);
            processBuilder.redirectErrorStream(true);

            System.out.println("executing: " + processBuilder.command().toString());

            final Process process = processBuilder.start();
            final InputStream inputStream = process.getInputStream();
            final InputStream errorStream = process.getErrorStream();

            readStream(inputStream);
            readStream(errorStream);

            return process.waitFor();

        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return -1;
    }

    private static void readStream(final InputStream iStream) {
        try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(iStream))) {
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }
}

这可以重构为更具体,但对于您的基本用户案例,这提供了一些灵活性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:如何Ping一系列IP地址?

来自分类Dev

不断ping IP地址

来自分类Dev

从特定IP地址阻止ping

来自分类Dev

无法ping我的IP地址

来自分类Dev

通过 OpenVpn 重定向一系列 IP

来自分类Dev

使用python ping到特定的IP地址

来自分类Dev

来自ping命令的奇怪IP地址

来自分类Dev

如何同时ping通多个IP地址?

来自分类Dev

无法ping任何whm IP地址

来自分类Dev

如何添加一系列数字中的Java

来自分类Dev

从另一台计算机ping时IP地址错误?

来自分类Dev

Unix ping和主机命令导致同一域名使用不同的IP地址

来自分类Dev

我可以追踪到一个IP地址,但不能ping它

来自分类Dev

在另一个接口(不是接收信号的那个接口)上ping IP地址

来自分类Dev

如何对另一个域中的IP地址执行ping操作?

来自分类Dev

无法通过IP地址对通过DHCP分配IP的设备的IP地址执行ping操作

来自分类Dev

vmware:无法使用NAT IP地址ping,但是可以ping物理IP

来自分类Dev

使用IP地址在不同主机上ping Docker容器

来自分类Dev

为什么Ping和Dig提供的IP地址与nslookup不同?

来自分类Dev

ping [网络名称]返回wan ip地址?[win7]

来自分类Dev

无法仅ping主机名IP地址

来自分类Dev

为什么可以ping IP地址而不是“ traceroute”呢?

来自分类Dev

使用sed从ping命令中提取IP地址?

来自分类Dev

ping文本文件中的每个IP地址?

来自分类Dev

如何 ping 域名列表并返回每个域的 IP 地址?

来自分类Dev

是否有任何可以 Ping IP 地址的 PHP 脚本

来自分类Dev

如何ping所连接接入点的IP地址?

来自分类Dev

JavaFX:ping IP 地址时,UI 卡住几秒钟

来自分类Dev

Java-ServerSocket IP地址