局域网的配置,之前查找了很多方法都是关于EthernetManager(已隐藏,无法直接调用),试过很多种但是还是没成功调到过这个对象,然后直接利用adb 命令获取
获取以太网的连接信息
1.获取所有有效网关

/*** @return 获取所有有效的网卡*/public static String[] getAllNetInterface() {ArrayList<String> availableInterface = new ArrayList<>();String[] interfaces = null;try {//获取本地设备的所有网络接口Enumeration nis = NetworkInterface.getNetworkInterfaces();InetAddress ia = null;while (nis.hasMoreElements()) {NetworkInterface ni = (NetworkInterface) nis.nextElement();Enumeration<InetAddress> ias = ni.getInetAddresses();while (ias.hasMoreElements()) {ia = ias.nextElement();if (ia instanceof Inet6Address) {continue;// skip ipv6}String ip = ia.getHostAddress();// 过滤掉127段的ip地址if (!"127.0.0.1".equals(ip)) {if (ni.getName().substring(0, 3).equals("eth")) {//筛选出以太网availableInterface.add(ni.getName());}}}}} catch (SocketException e) {e.printStackTrace();}int size = availableInterface.size();if (size > 0) {interfaces = new String[size];for (int i = 0; i < size; i++) {interfaces[i] = availableInterface.get(i);}}return interfaces;}

2.获取指定网卡ip

/*** 获取指定网卡ip** @param netInterface* @return* @throws SocketException*/public static String getIpAddress(String netInterface) throws SocketException {String hostIp = null;try {Enumeration nis = NetworkInterface.getNetworkInterfaces();InetAddress ia = null;while (nis.hasMoreElements()) {NetworkInterface ni = (NetworkInterface) nis.nextElement();if (ni.getName().equals(netInterface)) {Enumeration<InetAddress> ias = ni.getInetAddresses();while (ias.hasMoreElements()) {ia = ias.nextElement();if (ia instanceof Inet6Address) {continue;// skip ipv6}String ip = ia.getHostAddress();// 过滤掉127段的ip地址if (!"127.0.0.1".equals(ip)) {hostIp = ia.getHostAddress();break;}}}}} catch (SocketException e) {e.printStackTrace();}return hostIp;}

3.获取DNS地址 ----“getprop dhcp.eth0.dns1”

 /*** 根据adb shell命令获取* DNS地址** @param name网卡名称* @return*/public static String getLocalDNS(String name) {Process cmdProcess = null;BufferedReader reader = null;String dnsIP = "";try {cmdProcess = Runtime.getRuntime().exec("getprop dhcp." + name + ".dns1");reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream()));dnsIP = reader.readLine();return dnsIP;} catch (IOException e) {return null;} finally {try {reader.close();} catch (IOException e) {}cmdProcess.destroy();}}

4.获取子网掩码----“getprop dhcp.eth0.mask”

/*** 获取掩码** @param name* @return*/public static String getLocalMask(String name) {Process cmdProcess = null;BufferedReader reader = null;String dnsIP = "";try {cmdProcess = Runtime.getRuntime().exec("getprop dhcp." + name + ".mask");reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream()));dnsIP = reader.readLine();return dnsIP;} catch (IOException e) {return null;} finally {try {reader.close();} catch (IOException e) {}cmdProcess.destroy();}}

5.网关地址----“getprop dhcp.eth0.gateway”

 /*** 获取网关地址** @param name* @return*/public static String getLocalGATE(String name) {Process cmdProcess = null;BufferedReader reader = null;String dnsIP = "";try {cmdProcess = Runtime.getRuntime().exec("getprop dhcp." + name + ".gateway");reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream()));dnsIP = reader.readLine();return dnsIP;} catch (IOException e) {return null;} finally {try {reader.close();} catch (IOException e) {}cmdProcess.destroy();}}

https://github.com/huahua22/IPDemo

android 获取以太网的动态IP地址,子网掩码,DNS地址,网关地址相关推荐

  1. Android 获取局域网内网IP地址

    Android 获取局域网内网IP地址 废话 上代码 完事 废话 拿局域网IP一般用在tcp通讯或udp通讯上,下次再整理下这类通讯的框架 上代码 /*** 网络工具* 获得局域网IP地址* @aut ...

  2. 已知IP地址,如何计算其子网掩码,默认网关地址,网络地址等。

    原文地址https://blog.csdn.net/here962464/article/details/78940056 首先要铺垫一些基础知识,整个互联网就是一个单一的.抽象的网络.IP地址就是给 ...

  3. java获取公网ip_动态IP变固定IP,国内IP变海外IP,助力企业数据传输提高工作效率...

    在IPv4的地址数量越来越枯竭的情况下,大多数非专线的个人用户或者企业用户的ip地址都是动态ip地址,甚至很多都被更改为私网ip了,这给个人或者企业用户带来了很大不便.下面我们就来解决这些问题,让你可 ...

  4. Android 获取本地外网IP、内网IP、计算机名等信息

    一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...

  5. ip地址 子网掩码与默认网关

    1.ipv4: IP地址由四段组成,每个字段是一个字节,8位,最大值是255 IP地址由两部分组成,即网络地址和主机地址.网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机. ...

  6. Android 获取客户端外网IP和服务端IP

    项目组最近添加新需求,要获取客户端和服务端IP,削微研究了一下,总结如下: 1.获取客户端外网IP(为啥不要内网,因为那玩意没鸟用,外网IP起码能确定客户端的地区位置) 目前只有一种方法可以获取:发送 ...

  7. Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP

    ip地址:网络通讯标识信息 子网掩码:在局域网中可以有多少个主机 网关:从一个局域网到另一个局域网的必经之路 网络号:主机位全为0 广播地址:主机位全为1 子网掩码:网络位全为1,主机位全为0 虚拟软 ...

  8. ip、子网掩码、默认网关以及传输过程

    IP: IP地址:由网络部分 和 本机部分 组成 比如IP地址为 192.168.3.12 对应的二进制为 11000000 10101000 00000011 00001100 子网掩码: 子网掩码 ...

  9. 由ip计算子网掩码和默认网关

    超过255台电脑IP和子网掩码的一些知识我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0 ...

  10. IP,子网掩码,默认网关

    IP地址: 是给每个连接在Internet上的主机分配的一个32bit地址. 地址有两部分组成,一部分为网络地址,另一部分为主机地址. IP地址分为A.B.C.D.E 5类.常用的是B和C两类. 网络 ...

最新文章

  1. 0基础学python看什么书-0基础学Python入门书籍应该看什么?
  2. entity-model-first
  3. 超适合小白的python新手教程
  4. linux版本FTP下载
  5. 【C++】函数的形参
  6. 管理新语:主管要辅导员工转正
  7. sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)...
  8. html字体版权,字体在网站中的版权问题
  9. Java与网络调试助手TCP通信
  10. iOS 的 APP 如何适应 iPhone 5s/6.6s/6.6sPlus 三种屏幕的尺寸?
  11. uni-app 简介
  12. CTO能力知识地图正式发布
  13. WinCC界面中通过插件打开pdf文件
  14. python求15 17 23 65 97的因数_Python练习题
  15. 【播放器】播放器对比
  16. java表白 520
  17. 服务器最高安全防御策略选择与差异
  18. 用Rstudio写.Sh/Shell文件
  19. 三千万单车产能大跃进:供应链提价,矛盾一触即发
  20. android 字体加粗_华为nova发布新字体LOGO,设计把我酷到了!

热门文章

  1. android killer java_Android反编译工具的使用-Android Killer
  2. openwrt 锐捷 单线多拨
  3. 解决IE7无法设置空白页的办法
  4. 使用fsck命令检查文件系统错误
  5. 论文笔记 | code representation(代码表示学习)系列
  6. 未安装360系列应用情况下,Edge浏览器主页被360篡改,一直显示360导航
  7. 7z怎么解压linux,7z 常用解压命令
  8. phpmyadmin突破secure_file_priv写shell 的渗透
  9. Java B组蓝桥杯第七届国赛:圆圈舞
  10. ie上直接打开服务器word文档,win7 ie11直接打开word