问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA如何获取局域网内所有安卓设备的ip地址,MAC以及序列号?

发布网友 发布时间:2022-04-24 16:58

我来回答

1个回答

热心网友 时间:2023-11-07 05:37

1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)
2.根据IP类型,一次遍历局域网内IP地址
JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可
代码如下::
package bean;

import java.io.*;
import java.util.*;

public class Ip{
static public HashMap ping; //ping 后的结果集
public HashMap getPing(){ //用来得到ping后的结果集
return ping;
}

//当前线程的数量, 防止过多线程摧毁电脑
static int threadCount = 0;

public Ip() {
ping = new HashMap();
}

public void Ping(String ip) throws Exception{
//最多30个线程
while(threadCount>30)
Thread.sleep(50);
threadCount +=1;
PingIp p = new PingIp(ip);
p.start();
}

public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddress.getLocalHost();
String hostAddress = host.getHostAddress();
int k=0;
k=hostAddress.lastIndexOf(".");
String ss = hostAddress.substring(0,k+1);
for(int i=1;i <=255;i++){ //对所有局域网Ip
String iip=ss+i;
Ping(iip);
}

//等着所有Ping结束
while(threadCount>0)
Thread.sleep(50);
}

public static void main(String[] args) throws Exception{
Ip ip= new Ip();
ip.PingAll();
java.util.Set entries = ping.entrySet();
Iterator iter=entries.iterator();

String k;
while(iter.hasNext()){
Map.Entry entry=(Map.Entry)iter.next();
String key=(String)entry.getKey();
String value=(String)entry.getValue();

if(value.equals("true"))
System.out.println(key+"-->"+value);
}
}
class PingIp extends Thread{
public String ip; // IP
public PingIp(String ip){
this.ip=ip;
}

public void run(){
try{
Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1");
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
//读取结果行
for (int i=1 ; i <7; i++)
input.readLine();
String line= input.readLine();

if (line.length() <17 || line.substring(8,17).equals("timed out"))
ping.put(ip,"false");
else
ping.put(ip,"true");
//线程结束
threadCount -= 1;
}catch (IOException e){}
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... java中,如何获取真实的IP地址? 怎么编写一个Java程序来获取ip地址 java如何获取局域网内所有IP? java如何获取当前时间,java如何获取ip地址 如何用java实现,实时获取局域网内所有接入设备的IP地址 java获得IP地址 JAVA如何获得外网IP地址? JAVA获取IP地址 如何用java获取本地ip地址 java怎么获取请求的ip java中获取本地IP地址 java如何获取本机IP java 怎么获取本机ip地址 哪里直播比较好?我想去直播?人气高的有人吗? 想问问国内比较好的直播平台有哪些? 哪些直播平台比较靠谱? 在哪里做直播比较靠谱啊? 想咨询一下国内比较好的直播平台有哪些? 造成电线电缆发热的原因有哪些? 冬季空调可以加氟吗 红龙鱼排绿色便便是怎么回事 红龙鱼有什么品种,怎么区分的 我们养的红龙鱼鱼缸里经常长绿苔怎么办 红龙鱼怎么背和头发绿色 红龙鱼鱼缸内长青苔怎么办? 红龙鱼的辨识技巧 红龙鱼的外形特征 为什么Premiere 软件中输入MP4却看不见影像? 导入premiere后,MP4只有音频,没有视频了。是不支持MP4格式的视频? 我是1米8的底绿鱼缸养了1条红龙鱼请问还能和什么鱼混养合适 红龙鱼得水霉病用孔雀石绿可以吗,伤别的鱼吗 premiere 不支持mp4吗? 关于红龙鱼 premiere怎么输出MP4格式,不要说用先导出AVI格式,再转格式,我要直接输出的,要画面比较清楚的 红龙鱼怎么养,红龙鱼的风水作用 premiere MP4怎么导出双语? 精油的作用及 如何识别精油 精油都有什么种类,它们各有什么作用? 精油哪种好? 胸围ABCD如何区分,