1.实例代码

如果我们想要确定自己所在的局域网的所有用户,我们可以通过这种方式获取:
步骤如下:
首先获取本机地址,截取自己所在的网段
然后调用系统命令 ping ip -w 280 -n 1(其中ip是变量)根据返回的结果来判断ip是否可通行
如果可通信,将其添加到ip列表中。

package InternetCode.Exa3;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;/*** 获得内网所有ip地址*/
public class CoreCode {private static volatile int num = 0;public static void main(String[] args) throws IOException {List<String> result=getAllIp();System.out.println(result);}/*** 获得内网所有的可通信的ip地址* @return* @throws IOException*/public static List<String> getAllIp() throws IOException {InetAddress host=InetAddress.getLocalHost();String hostAddress=host.getHostAddress();int pos=hostAddress.lastIndexOf(".");//获得本机ip的网段String bigNet=hostAddress.substring(0,pos+1);List<String> ips= Collections.synchronizedList(new ArrayList<>());for (int i=0;i<=225;i++){String ip=bigNet+i;new Thread(()->{try {Process process = Runtime.getRuntime().exec("ping "+ip+" -w 280 -n 1");InputStream inputStream=process.getInputStream();InputStreamReader inputStreamReader=new InputStreamReader(inputStream,"GBK");BufferedReader bufferedReader=new BufferedReader(inputStreamReader);String line=null;String isActive=null;while((line=bufferedReader.readLine()) != null) {if(!line.equals("")){isActive=bufferedReader.readLine().substring(0,2);break;}}if(isActive.equals("来自")){ips.add(ip);}}catch (Exception e){e.printStackTrace();}num++;}).start();}while (num!=225) {}return ips;}
}

3.Java获得内网网段所有可通信的ip地址相关推荐

  1. 使用libreswan搭建ipsec点对点隧道 实现两idc内网网段互通

    使用libreswan搭建ipsec点对点隧道 实现两idc内网网段互通 文章目录 使用libreswan搭建ipsec点对点隧道 实现两idc内网网段互通 一.libreswan 简介 - > ...

  2. Docker网段和内网网段冲突导致造成无法访问网络

    docker启动时默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络.但是部署在内网中的IP段存在有此网段的IP时,会导致冲突 1.使用宿 ...

  3. java正则验证网址_java正则表达式验证邮箱、IP地址、手机号码

    1.java验证IP地址: Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例 Sys ...

  4. java获取当前电脑的ip_Java获取电脑真实IP地址的示例代码

    /** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.Inet ...

  5. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  6. java 获取docker ip_docker容器内部获取宿主机ip地址方法以及报错解决

    1,在docker容器内执行以下python代码或根据需要插入到你的.py文件中: import paramiko #通过pip3 install paramiko 安装 s = paramiko.S ...

  7. java 反查域名_爬虫实现:根据IP地址反查域名

    域名解析与IP地址 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务:IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址.域名解析 ...

  8. java 本机局域网真实ip_Java获取本机ip地址,并扫描本机所在局域网的电脑设备

    Java获取本机IP地址,并根据IP地址的网段,扫描局域网里面的电脑设备; import java.io.IOException; import java.net.Inet4Address; impo ...

  9. 内网网段划分ciso交换机配置

    内网3750交换机配置: vlan 192 192.168.101.0/24 端口: 1--8 vlan 10 10.10.10.0/24 端口: 9--16 vlan 172 172.16.172. ...

最新文章

  1. Linux上常用命令整理(二)—— paste
  2. 关于iframe中session 失效问题
  3. 打包文档_苏教版小学数学16年级全十二册教案Word文档打包下载
  4. 熬夜并不值得程序员炫耀
  5. linux 加入ad 用ssh,使用samba验证AD用户,允许AD用户登录到linux
  6. UML图---基本概念
  7. %99的C语言初学者都会犯的错误——奇妙的数组(玄学)
  8. 数控编程球面计算机,Mastercam9.1的数控编程
  9. 我的大学,我的SPR机器人队
  10. 关系代数表达式优化步骤
  11. Mybatis 任务二:配置文件深入
  12. 使用Bitmap生成透明底图,并保存到本地SD卡中
  13. uva 10118(DP)
  14. 示波器表笔旁边的夹子是什么_示波器探头容易忽略的几个问题
  15. 静态分析 第三课 Data Flow Analysis(1)
  16. 安卓模拟器研究-root
  17. 从零开始vim搭建Java开发环境[视频]
  18. SQL Server 2008 R2密钥序列号
  19. 黑苹果更改时间命令_从命令行设置Mac OS X中的系统时间 | MOS86
  20. 经验风险最小化(ERM, Empirical risk minimization)

热门文章

  1. onenote连接网络失败,无法创建新的笔记
  2. vulnhub靶机-DC1-Writeup
  3. 一篇上手LayaAir的3D物理引擎
  4. 如何知道自己的CPU支持SLAT
  5. Ubuntu安装 Realtek R8125 驱动
  6. 华为优秀员工的16项标准让你的职场之路更顺利
  7. 思维导图-------java-IO流知识结构梳理
  8. 从神一到神十三,探索中国航天背后“神秘”力量
  9. python实现推箱子
  10. 从风光到巨额亏损 老企业夏普衰落真相是什么?