java获取ip段内所有的ip地址并迭代检查是否能ping通 |
您所在的位置:网站首页 › DHCP地址段包含收尾吗 › java获取ip段内所有的ip地址并迭代检查是否能ping通 |
最近遇到一个需求,需要根据手动输入的ip地址范围,解析出该ip段范围内所有的ip地址,并检查是否能够ping通这些ip地址。 那么这个问题可以拆分为两步: 一:根据ip段计算出所有的ip 我们知道,ip地址本质上是32位的二进制数,我们将其其八位做一次分隔即可得到我们常用的xxx.xx.xxx.xxx的ip地址,那么反过来,我们也可以将xxx.xx.xxx.xxx直接转化为数字,这样的话可以很快的遍历出ip段内所有的ip。 二:ping所有的ip 可以调用untime.getRuntime().exec(ins)方法直接执行ping命令,根据ping命令的返回值判断是否能够ping通 具体代码如下: package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class PingTest { public static void main(String[] args) { //起始ip String str_ip_start = "172.18.216.30"; //结束ip String str_ip_stop = "172.18.217.11"; //将ip转化为long型数字,以便通过for循环遍历所有的ip long long_ip_start = getIpFromString(str_ip_start); long long_ip_stop = getIpFromString(str_ip_stop); System.out.println(getIpFromString(str_ip_start)); System.out.println(getIpFromString(str_ip_stop)); ArrayList ip_list = new ArrayList(); for (long ip = long_ip_start; ip |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |