检测内网在线ip

来源:互联网 发布:oracle数据库基础教程 编辑:程序博客网 时间:2024/04/26 18:51
package com.npnets.checklineip;import java.io.IOException;import java.net.InetAddress;import java.net.UnknownHostException;public class CheckLineip extends Thread{    private  String  ip ;    public String getIp() {        return ip;    }    public void setIp(String ip) {        this.ip = ip;    }    @Override    public void run() {        try {            System.out.println(this.getIp());            InetAddress address = InetAddress.getByName(this.getIp());            boolean flag = address.isReachable(3000);            System.out.println(this.getIp()+":"+flag);            if(flag){                GetAllip.lineip.add(this.getIp());            }        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}--调用类mianpackage com.npnets.checklineip;import java.util.ArrayList;import java.util.List;public  class GetAllip {    public static  String myIp = "192.168.0.33";    public static String []ips = new String[254] ;    //在线ip    public static  List<String> lineip = new ArrayList<String>();    //根据本机ip地址 初始化所有内网ip地址    public void initIps(String ip){        String prefixip = ip.substring(0,ip.lastIndexOf(".")+1);        System.out.println(prefixip);        for(int i=0;i<254;i++){            ips[i] = prefixip+(i+1);        }    }    public static void main(String[] args) {        GetAllip getip = new GetAllip();        getip.initIps(myIp);        for(int i=0;i<ips.length;i++){            CheckLineip thread = new CheckLineip();            thread.setIp(ips[i]);            thread.start();        }    }}
0 0
原创粉丝点击