java获取局域网内主机,java怎么获取局域网内所有主机ip
java怎么获取局域网内所有主机ip
关注:53 答案:2 mip版
解决时间 2021-01-27 21:31
提问者夢岭杺
2021-01-27 12:02
java怎么获取局域网内所有主机ip
最佳答案
二级知识专家风是甜的
2021-01-27 13:32
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);
}
全部回答
1楼假装安慰
2021-01-27 14:40
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){}
}
}
}
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看
java获取局域网内主机,java怎么获取局域网内所有主机ip相关推荐
- java获取主机mac_Java 如何获取主机的MAC地址
获取MAC地址首先要理解当前的操作系统,由于在不同的操作系统中CMD命令所在的位置不同,因此首先使用System类中的getProperty("os.name")方法获取当前的操作 ...
- Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)
获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...
- java 获取远程服务器信息,java 远程获取服务器信息
java 远程获取服务器信息 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JD ...
- java function获取参数_「Java容器」ArrayList源码,大厂面试必问
ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...
- java接口对接——别人调用我们接口获取数据
java接口对接--别人调用我们接口获取数据,我们需要在我们系统中开发几个接口,给对方接口规范文档,包括访问我们的接口地址,以及入参名称和格式,还有我们的返回的状态的情况, 接口代码: package ...
- java中date如何获取月份_Java:从Date获取月份整数
如何从Date对象(java.util.Date)获取整数作为整数? 实际上,Date上的getMonth()因为永远而被弃用;) @slhck:已弃用. 从JDK 1.1版开始,由Calendar. ...
- java正则表达式所有字符串_java正则表达式如何获取字符串中所有匹配内容
java正则表达式如何获取字符串中所有匹配内容以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java正则表达式如何获取 ...
- java 获取httpsession_java使用websocket,并且获取HttpSession,源码分析
转载请在页首注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6238826.html 一:本文使用范围 此文不仅仅局限于spring boot,普通的sprin ...
- java 反射获取父类的字段_java反射获取父类和子类字段值、赋值
这里将告诉您java反射获取父类和子类字段值.赋值,具体操作过程:java反射获取字段值.赋值 import org.springframework.util.ReflectionUtils; imp ...
- java中为什么不能通过getClass().getName()获取父类的类名
例如: class A{} public class B extends A{ public void test(){ System.out.println(super.getClass().getN ...
最新文章
- Myeclipse安装、配置、测试
- idea中如何reimport_IDEA中导入新项目遇坑
- 驱动保护中的ObjectType_Callback探索
- Keras实现seq2seq案例代码:Bi-LSTM
- JavaScript之手写Promise
- ARM的存储器映射与存储器重映射【转载】2009-12-14 10:29最近在用LPC2148,看到了一篇文章,感觉很有帮助,就转了过来。
- IntelliJ IDEA for Mac在MacOS模式下的动态代码模板快捷键(Live Templates Shortcut)
- 新浪云python示例_Python Web框架Flask中使用新浪SAE云存储实例
- 141_Power Query之获取钉钉审批流自动刷新Power BI报告
- Java性能优化之String字符串优化,BAT 面试官 如何面试
- 判断文本的行数c语言,软件工程统计文件中字符串个数,单词个数,词频,行数
- jQuery:设置body的背景
- pyspark分类算法之随机森林分类器模型实践【randomForestClassifier】
- R语言各个包里面的数据集
- nginx.conf文件配置及nginx重启脚本
- 计算机学生选课系统毕业论文,学生选课管理系统论文
- jQuery jqGrid 文档
- VC 读取usb相机
- Android 阿里云镜像谷歌仓库
- ios申请企业开发者账号的代理_苹果企业开发者账号的申请详解
热门文章
- 【Numpy基础】矩阵数组相乘与神经网络的实现
- Matlab图形修饰之色彩处理
- 把图像划分为patch以及用图像块重建图像
- win10 通过xrdp远程连接到ubuntu后,显示顶端快捷工具栏,显示最小化后的应用
- GCC的__attribute__ ((constructor))和__attribute__ ((destructor))
- vim 使用、设置笔记
- 五步使用法——搞定XMLHttpRequest
- 为什么要baidu/Google问题 尽量少在群里问问题
- Java小白的干货铺子(四)
- Python 技巧总结