首页 > 其他分享 >Android之获取DNS,优先返回本地网络DNS(插网线),其次选择Wifi网络的DNS

Android之获取DNS,优先返回本地网络DNS(插网线),其次选择Wifi网络的DNS

时间:2023-08-22 16:55:29浏览次数:32  
标签:String dns2 dns1 Wifi ex DNS dnsIP 本地网络

code 参考:https://www.cnblogs.com/alex-zhao/p/5254624.html

/**
     * 获取DNS,优先返回本地网络DNS(插网线),其次选择Wifi网络的DNS
     * */
    public static String getLocalDNS(Context context) {
        String TAG = "WiFiUtil_getLocalDNS";
        Process cmdProcess = null;
        BufferedReader reader = null;
        String dnsIP = "";
        try {
            cmdProcess = Runtime.getRuntime().exec("getprop net.dns1");
            reader = new BufferedReader(new InputStreamReader(cmdProcess.getInputStream()));
            dnsIP = reader.readLine();
        } catch (Exception ex) {
            slog.e(TAG, "获取Local网络DNS异常", ex);
            return null;
        } finally {
            try {
                reader.close();
            } catch (IOException ex) {
                slog.e(TAG, "获取Local网络DNS,关闭BufferedReader异常", ex);
            }
            cmdProcess.destroy();
        }
        if (Func.IsNullOrEmpty(dnsIP)) {
            try {
                WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                if (wifiManager != null) {
                    // 获取WIFI的DHCP数据
                    DhcpInfo dhcpInfo = wifiManager.getDhcpInfo();
                    if (dhcpInfo != null) {
                        String dns1 = intToIp(dhcpInfo.dns1);
                        String dns2 = intToIp(dhcpInfo.dns2);
                        String dnsDef = "0.0.0.0";
                        if (dnsDef.equals(dns1)) {
                            dns1 = "";
                        }
                        if (dnsDef.equals(dns2)) {
                            dns2 = "";
                        }
                        if (!Func.IsNullOrEmpty(dns1) && !Func.IsNullOrEmpty(dns2)) {
                            dnsIP = dns1 + ";" + dns2;
                        } else {
                            dnsIP = dns1 + dns2;
                        }
                    }
                }
            } catch (Exception ex) {
                slog.e(TAG, "获取Wifi网络DNS异常", ex);
            }
        }
        return dnsIP;
    }

 

标签:String,dns2,dns1,Wifi,ex,DNS,dnsIP,本地网络
From: https://www.cnblogs.com/xsj1989/p/17649000.html

相关文章

  • STM32 Wifi开发
    一、概述1.用到的资源说明1.1wifi模块:ESP8266EX1.2串口,串口接收不定长数据采用定时器超时的方式判断一帧数据是否接收完成,定时器1ms中断一次;2.采用AP+Station模式,这种模式比较实用。AP用来设置wifi信息的,连接ESP8266wifi信号,此时ESP8266就是服务端,可以写一个上位机socket......
  • 日常DNS配置
    !!!只能解决部分电信DNS无法解析的域名,被墙掉的无效。我是电信网络,github、微软部分技术资料或者软件仓库的域名在电信默认DNS里面解析不出来,简直难以置信!经测试,日常保持下面两个DNS比较高效,起码github和微软的资源都能访问了。114.114.114.1144.4.4.4如果还有部分不能用,把 1......
  • t113-c-制作wifi设置页面
    c转命令行首先我们要用到命令行,c和命令行这么转换呢?https://blog.csdn.net/arv002/article/details/112711673根据这篇文章那么:popen:什么是popen?https://www.cnblogs.com/52php/p/5722238.html简单来说就是c语言和cmmd的交互函数,注意这个函数会产生子进程简单的测试一下:#......
  • burpsuite靶场----SQL注入17----oracle之DNS外带
    burpsuite靶场----SQL注入17----oracle之DNS外带靶场地址https://portswigger.net/web-security/sql-injection/blind/lab-out-of-band-data-exfiltration正式开始payload模板:'+UNION+SELECT+EXTRACTVALUE(xmltype('<%3fxml+version%3d"1.0"+encoding%3d"UTF-......
  • burpsuite靶场----SQL注入16----DNS外带test
    burpsuite靶场----SQL注入16----oracle之DNS外带test靶场地址https://portswigger.net/web-security/sql-injection/blind/lab-out-of-band正式开始1.先在burpsuite自带的dns上获取一段url2.使用payload'+UNION+SELECT+EXTRACTVALUE(xmltype('<%3fxml+version%3d"1.0"+enc......
  • WIFI
    http://www.taodudu.cc/news/show-6296080.html?action=onClick  7.主要测试指标1.最大等效全向辐射功率(EIRP)2.最大等效全向功率谱密度3.频率容限4.矢量相位误差5.占用带宽6.杂散发射7.发射频谱模板8.上升沿下降沿时间9.带内平坦度10.载波抑制11.接收机最小输入电平12.......
  • Windows设置本地DNS域名解析hosts文件配置--九五小庞
    DNSDomainNameSystem(域名系统):为了加快定位IP地址的速度,将域名映射进行层层缓存的系统.目的:互联网通过IP(10.223.146.45)定位浏览器建立连接,但是我们不易区别IP,为了方便用户辨识IP所代表的意义,操作系统会将IP和域名进行转换(roadmapsupporter.com)。IP比作IDCard:373×××××,......
  • Dnslog回显使用指南
    一、命令执行场景Liunx/Unix/MacOS系统:curlhttp://ip.port.xxx.dnslog.org/`whoami`ping`whoami`.ip.port.xxx.dnslog.orgWindows系统:ping%USERNAME%.xxx.dnslog.org二、SQL注入场景SQLServer数据库:DECLARE@hostvarchar(1024);SELECT@host=(SELECTTOP1master.d......
  • Mcuzone CM4_WiFi6 WLAN Pi扩展板,支持8265 AX200 AX210 MT7921 MT7961 RTL8822
    关键词:树莓派CM4  WLANPi  WLANPi英特尔8265AX200AX210MT7921MT7961RTL8822ScannerWiFi6Mcuzone野芯科技概述:WLANPi是一款用途很广泛的WiFi工具,可以测试网速,可以对WiFi信号进行频谱分析。WLANPi可以在很多硬件平台上运行,其中最典型的就是树莓派平台。......
  • 【Oracle RAC Database】通过DNS实现SCAN VIP的域名解析
    [root@node04~]#yuminstall-ybind[root@node04~]#vim/etc/named.confoptions{listen-onport53{192.168.1.104;};/*listen-on-v6port53{::1;};*/directory"/var/named";dump-file"/v......