精华内容
下载资源
问答
  • 能够查道你的智能手机的无线网卡地址 wm6通过测试
  • WiFi Mac地址匹配厂商字典,该数据列表适用于WiFi地址匹配厂商,经过本人测试适配率比较高,还是有部分无法适配
  • 通过Nvram读取WIFI MAC地址

    千次阅读 2017-08-30 10:48:14
    最近有一个实现WIFI热点默认名称为公司简称加WIFI MAC地址的需求,网上查询了一些方法没有实现需求,于是想WIFI MAC地址是写到NVRAM里的,通过读取NVRAM的的WIFI MAC地址应该没有问题。方法如下: 在frameworks/...

    最近有一个实现WIFI热点默认名称为公司简称加WIFI MAC地址的需求,网上查询了一些方法没有实现需求,于是想WIFI MAC地址是写到NVRAM里的,通过读取NVRAM的的WIFI MAC地址应该没有问题。方法如下:


    在frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java里的getDefaultApConfiguration()函数里

    config.SSID = "CompanyName-"+readData();

    public String readData() {
        IBinder binder = ServiceManager.getService("NvRAMAgent");
        NvRAMAgent agent = NvRAMAgent.Stub.asInterface(binder);
    
    
        byte[] buff = null;
        String[] macAddress=new String[6];
        try {
             buff = agent.readFile(53);// read buffer from nvram
        } catch (RemoteException e) {
          // TODO Auto-generated catch block
             e.printStackTrace();
        }
    
    
        for(int i=0;i<buff.length;i++){
            System.out.println("i:"+i+" "+Integer.toHexString(buff[i]));
        }
        macAddress[0]=Integer.toHexString(buff[4]&0xFF);
        macAddress[1]=Integer.toHexString(buff[5]&0xFF);
        macAddress[2]=Integer.toHexString(buff[6]&0xFF);
        macAddress[3]=Integer.toHexString(buff[7]&0xFF);
        macAddress[4]=Integer.toHexString(buff[8]&0xFF);
        macAddress[5]=Integer.toHexString(buff[9]&0xFF);
        System.out.println("macaddress:"+macAddress[0]+":"+macAddress[1]+":"+macAddress[2]+":"+macAddress[3]+":"+macAddress[4]+":"+macAddress[5]);
    
    
        return macAddress[0]+macAddress[1]+macAddress[2]+macAddress[3]+macAddress[4]+macAddress[5];
    }


    以上。

    展开全文
  • <p>I need to get wifi vendor details based on wifi mac address <p>For eg. mac address - E0:43: DB and vendor is - Shenzhen ViewAt Technology Co., Ltd. <p>To achieve this I have used <code>...
  • 1. 经常用法,调用Android的API:WifiManagerWifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifi.getConnectionInfo();return info.getMacAddress();此方法须要保证...

    1. 经常用法,调用Android的API:WifiManager

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    WifiInfo info = wifi.getConnectionInfo();

    return info.getMacAddress();

    此方法须要保证WIFI在本次开机以来以前是打开过的,否则会返回null。所以须要后台尝试先打开WIFI再获取。

    演示样例代码:

    //尝试打开wifi

    private static boolean tryOpenMAC(WifiManager manager)

    {

    boolean softOpenWifi = false;

    int state = manager.getWifiState();

    if (state != WifiManager.WIFI_STATE_ENABLED && state != WifiManager.WIFI_STATE_ENABLING)

    {

    manager.setWifiEnabled(true);

    softOpenWifi = true;

    }

    return softOpenWifi;

    }

    //尝试关闭MAC

    private static void tryCloseMAC(WifiManager manager)

    {

    manager.setWifiEnabled(false);

    }

    //尝试获取MAC地址

    private static String tryGetMAC(WifiManager manager)

    {

    WifiInfo wifiInfo = manager.getConnectionInfo();

    if (wifiInfo == null || StringUtil.isNull(wifiInfo.getMacAddress()))

    {

    return null;

    }

    String mac = wifiInfo.getMacAddress().replaceAll(":", "").trim().toUpperCase();

    mac = formatIdentify(mac);

    return mac;

    }

    //尝试读取MAC地址

    private static String getMacFromDevice(int internal)

    {

    String mac=null;

    WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);

    mac = tryGetMAC(wifiManager);

    if(!StringUtil.isNull(mac))

    {

    return mac;

    }

    //获取失败,尝试打开wifi获取

    boolean isOkWifi = tryOpenMAC(wifiManager);

    for(int index=0;index

    {

    //假设第一次没有成功,第二次做100毫秒的延迟。

    if(index!=0)

    {

    try

    {

    Thread.sleep(100);

    }

    catch (InterruptedException e)

    {

    e.printStackTrace();

    }

    }

    mac = tryGetMAC(wifiManager);

    if(!StringUtil.isNull(mac))

    {

    break;

    }

    }

    //尝试关闭wifi

    if(isOkWifi)

    {

    tryCloseMAC(wifiManager);

    }

    return mac;

    }

    ==================================================================

    2. 查询文件路径 /sys/class/net/wlan0/address

    adb shell cat /sys/class/net/wlan0/address

    98:6c:f5:10:96:c4

    可是假设WIFI在本次开机期间从来没有打开过,返回的MAC地址是不同的(非实际的),例如以下:

    cat /sys/class/net/wlan0/address

    00:90:4c:11:22:33

    演示样例代码:

    String getMac() {

    String macSerial = null;

    String str = "";

    try {

    Process pp = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address");

    InputStreamReader ir = new InputStreamReader(pp.getInputStream());

    LineNumberReader input = new LineNumberReader(ir);

    for (; null != str;) {

    str = input.readLine();

    if (str != null) {

    macSerial = str.trim();

    break;

    }

    }

    } catch (IOException e) {

    e.printStackTrace();

    }

    return macSerial;

    }

    ==================================================================

    3. 查询记录了MAC地址的文件“/proc/net/arp”,可是从測试结果看,返回的数据并非想要的Wifi Mac地址:

    比方,手机实际的WIFI Mac地址是98:6c:f5:10:96:c4,但使用adb shell cat proc/net/arp返回的是:

    cat proc/net/arp

    IP address       HW type     Flags       HW address            Mask     Device

    192.168.0.3      0x1         0x2         00:23:89:b9:1a:fd     *        wlan0

    192.168.0.1      0x1         0x2         08:00:27:7c:65:5a     *        wlan0

    展开全文
  • XAMARIN Android获取WIFIMAC地址的方法

    千次阅读 2017-08-04 17:01:50
    对于XAMARIN ANDROID的使用,注意参考官方网站的相关资料。https://developer.xamarin.com/api/type/Android.Net.Wifi.WifiInfo/ ...WifiManager wifi = (WifiManager) getSystemService(Con
    对于XAMARIN ANDROID的使用,注意参考官方网站的相关资料。https://developer.xamarin.com/api/type/Android.Net.Wifi.WifiInfo/

    1. 常用方法,调用Android的API:WifiManager

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiInfo info = wifi.getConnectionInfo();
    return info.getMacAddress();

    此方法需要保证WIFI在本次开机以来曾经是打开过的,否则会返回null。所以需要后台尝试先打开WIFI再获取。

    示例代码:

    //尝试打开wifi
    private static boolean tryOpenMAC(WifiManager manager)
    {
    boolean softOpenWifi = false;
    int state = manager.getWifiState();
    if (state != WifiManager.WIFI_STATE_ENABLED && state != WifiManager.WIFI_STATE_ENABLING)
    {
    manager.setWifiEnabled(true);
    softOpenWifi = true;
    }
    return softOpenWifi;
    }

    //尝试关闭MAC
    private static void tryCloseMAC(WifiManager manager)
    {
    manager.setWifiEnabled(false);
    }

    //尝试获取MAC地址
    private static String tryGetMAC(WifiManager manager)
    {
    WifiInfo wifiInfo = manager.getConnectionInfo();
    if (wifiInfo == null || StringUtil.isNull(wifiInfo.getMacAddress()))
    {
    return null;
    }
    String mac = wifiInfo.getMacAddress().replaceAll(":", "").trim().toUpperCase();
    mac = formatIdentify(mac);
    return mac;
    }

    //尝试读取MAC地址
    private static String getMacFromDevice(int internal)
    {
    String mac=null;
    WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
    mac = tryGetMAC(wifiManager);
    if(!StringUtil.isNull(mac))
    {
    return mac;
    }

    //获取失败,尝试打开wifi获取
    boolean isOkWifi = tryOpenMAC(wifiManager);
    for(int index=0;index<internal;index++)
    {
    //如果第一次没有成功,第二次做100毫秒的延迟。
    if(index!=0)
    {
    try
    {
    Thread.sleep(100);
    }
    catch (InterruptedException e)
    {
    e.printStackTrace();
    }
    }
    mac = tryGetMAC(wifiManager);
    if(!StringUtil.isNull(mac))
    {
    break;
    }
    }

    //尝试关闭wifi
    if(isOkWifi)
    {
    tryCloseMAC(wifiManager);
    }
    return mac;
    }

    ==================================================================

    2. 查询文件路径 /sys/class/net/wlan0/address

    adb shell cat /sys/class/net/wlan0/address

    98:6c:f5:10:96:c4

    但是如果WIFI在本次开机期间从来没有打开过,返回的MAC地址是不同的(非实际的),如下:

    cat /sys/class/net/wlan0/address
    00:90:4c:11:22:33

    示例代码:

    String getMac() {
    String macSerial = null;
    String str = "";
    try {
    Process pp = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address");
    InputStreamReader ir = new InputStreamReader(pp.getInputStream());
    LineNumberReader input = new LineNumberReader(ir);

    for (; null != str;) {
    str = input.readLine();
    if (str != null) {
    macSerial = str.trim();
    break;
    }
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    return macSerial;
    }
    ==================================================================

    3. 查询记录了MAC地址的文件“/proc/net/arp”,但是从测试结果看,返回的数据并不是想要的Wifi Mac地址:

    比如,手机实际的WIFI Mac地址是98:6c:f5:10:96:c4,但使用adb shell cat proc/net/arp返回的是:

    cat proc/net/arp
    IP address HW type Flags HW address Mask Device
    192.168.0.3 0x1 0x2 00:23:89:b9:1a:fd * wlan0
    192.168.0.1 0x1 0x2 08:00:27:7c:65:5a * wlan0





    展开全文
  • Android 获取WIFI MAC地址的方法

    万次阅读 2014-04-22 16:13:35
    1. 常用方法,调用Android的API:...WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress();   此方法需要保证WI

    1. 常用方法,调用Android的API:WifiManager

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiInfo info = wifi.getConnectionInfo();
    return info.getMacAddress();
     

    此方法需要保证WIFI在本次开机以来曾经是打开过的,否则会返回null。所以需要后台尝试先打开WIFI再获取。

    示例代码:

    //尝试打开wifi
    private static boolean tryOpenMAC(WifiManager manager)
    {
        boolean softOpenWifi = false;
        int state = manager.getWifiState();
        if (state != WifiManager.WIFI_STATE_ENABLED && state != WifiManager.WIFI_STATE_ENABLING)
        {
            manager.setWifiEnabled(true);
            softOpenWifi = true;
        }
        return softOpenWifi;
    }

    //尝试关闭MAC
    private static void tryCloseMAC(WifiManager manager)
    {
        manager.setWifiEnabled(false);
    }

    //尝试获取MAC地址
    private static String tryGetMAC(WifiManager manager)
    {
        WifiInfo wifiInfo = manager.getConnectionInfo();
        if (wifiInfo == null || StringUtil.isNull(wifiInfo.getMacAddress()))
        {
            return null;
        }
        String mac = wifiInfo.getMacAddress().replaceAll(":", "").trim().toUpperCase();
        mac = formatIdentify(mac);
        return mac;
    }

    //尝试读取MAC地址
    private static String getMacFromDevice(int internal)
    {
        String mac=null;
        WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
        mac = tryGetMAC(wifiManager);
        if(!StringUtil.isNull(mac))
        {
            return mac;
        }
     
        //获取失败,尝试打开wifi获取
        boolean isOkWifi = tryOpenMAC(wifiManager);
        for(int index=0;index<internal;index++)
        {
            //如果第一次没有成功,第二次做100毫秒的延迟。
            if(index!=0)
            {
                try
                {
                    Thread.sleep(100);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
            mac = tryGetMAC(wifiManager);
            if(!StringUtil.isNull(mac))
            {
                break;
            }
        }

        //尝试关闭wifi
        if(isOkWifi)
        {
            tryCloseMAC(wifiManager);
        }
        return mac;
    }

     

    ==================================================================

    2. 查询文件路径 /sys/class/net/wlan0/address

    adb shell cat /sys/class/net/wlan0/address

    98:6c:f5:10:96:c4

    但是如果WIFI在本次开机期间从来没有打开过,返回的MAC地址是不同的(非实际的),如下:

    cat /sys/class/net/wlan0/address
    00:90:4c:11:22:33

     

    示例代码:

               String getMac() {
                    String macSerial = null;
                    String str = "";
                    try {
                            Process pp = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address");
                            InputStreamReader ir = new InputStreamReader(pp.getInputStream());
                            LineNumberReader input = new LineNumberReader(ir);

                            for (; null != str;) {
                                    str = input.readLine();
                                    if (str != null) {
                                            macSerial = str.trim();
                                            break;
                                    }
                            }
                    } catch (IOException e) {
                            e.printStackTrace();
                    }
                    return macSerial;
            }
    ==================================================================

    3. 查询记录了MAC地址的文件“/proc/net/arp”,但是从测试结果看,返回的数据并不是想要的Wifi Mac地址:

    比如,手机实际的WIFI Mac地址是98:6c:f5:10:96:c4,但使用adb shell cat proc/net/arp返回的是:

    cat proc/net/arp
    IP address       HW type     Flags       HW address            Mask     Device
    192.168.0.3      0x1         0x2         00:23:89:b9:1a:fd     *        wlan0
    192.168.0.1      0x1         0x2         08:00:27:7c:65:5a     *        wlan0

    展开全文
  • 不打开Wifi获取Mac地址

    千次阅读 2019-08-22 10:16:43
    今天遇到一个问题,要求不打开Wifi的前提下获取Mac地址,所以针对Android上Mac地址的获取做了总结。 MAC地址:每个接入网络的设备都有一个专门的序号,这个序号就是MAC。手机里的MAC特指WIFi无线网卡的MAC地址。 ...
  • 1. 常用方法,调用Android的API:WifiManager <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">...WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_S...
  • 先上效果图 再上手机配置 最后上demo下载地址 https://download.csdn.net/download/qq_26914291/10819325
  • 那么,我们就可以通过已知的设备的MAC地址查询到其厂商的名字。虽然看起来好像没有什么用,但是我们如果在自家的路由器上发现了疑似未知的设备在连接着我们的wifi,虽然现在的智能路由器可以识别出来是什么厂商的...
  • 本节教大家如何一键最快的方式修改手机MAC地址和路由器WIFI物理地址,能帮我们完成这个修改工作的就是大名鼎鼎的琢石模拟器,下面我们演示一下如何通过琢石模拟器来进行MAC跟wifi物理地址修改。如果您手机还没安装...
  • 项目有个很重要的需求,就是获取手机的当前所连Wifimac地址,注意并非是手机设备的mac地址。方法也是网上找的。 组员大概都用手机测了一遍。测试发现,有一部分手机,除了要授予APP定位权限外,还需要用户手动...
  • native wifi mac rssi

    千次阅读 2014-05-01 10:41:37
    首先就要取出周围无线AP的mac和rssi, 在win7 和 vista上,这是很简单的事, 但要考虑到xp,还要做到统一,就有点难度了。 这里,我就我所知总结一下, 希望对需要的人有所帮助, 如有不对,欢迎探讨...
  • http://wifi.tongxinmao.com/Public/macaddr 个别路由MAC地址查不了   路由MAC可以通过手机APP或WIFI探测周围路由  
  • 查看Android手机wifimac地址

    千次阅读 2018-07-12 00:36:54
    设置---WLAN--菜单键---高级--MAC地址
  • 现在博主在上大三,正在学习一些计算机网络的一些概念,知道了局域网ip和网关ip不同的概念,当时还纳了闷了2的32...手机在连入局域网的WiFi的时候,会自动获取IP地址信息到本机,然后可以通过“设置→系统→关于手机→
  • Android:WiFi下获取IP地址与MAC地址

    千次阅读 2018-11-20 16:41:06
    本博客将通过一个实例向大家介如何开发一个简易的小应用实现获取IP地址和MAC地址。(需要注意的一点是,虚拟机可能不支持WIFI操作,所以需要用真机进行测试),由于许多解释我已经在源代码中解释的挺清楚了,所以不...
  • python wifi或蓝牙mac 地址的提取

    千次阅读 2019-07-19 10:42:21
    mac = "ca:69:6c:35:83:e4,-74,|ca:69:6c:35:83:ed,-74,|ca:69:6c:35:83:ee,-76,|6a:69:6c:05:cb:1e,-80,|8a:69:6c:34:32:a9,-85," #pattern = r'(([a-z]|[0-9]){2}):(([a-z]|[0-9]){2}):(([a-z]|[0-9]...
  • WIFI热点的BSSID其实就是WIFIMAC地址,Windows查看WIFI MAC地址,只能通过命令行实现。 打开命令提示符cmd.exe,输入以下命令,回车,可以看到Windows系统能够发现的附近所有WIFI的BSSID和SSID等详细信息。 netsh ...
  • 获取 Andorid 手机WIFI连接的Mac地址和IP...通过查询Android的API文档,可以通过以下代码进行MAC地址等信息的查询。(Android 2.2) main.xml xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android
  • 使用命令行,运行ipconfig /all 前提是保证无线网卡未被禁用。 找到无线局域网的物理地址。 以太网的特理地址,是网卡的mac地址
  • * 获取所有连接到手机wifi热点的手机IP地址 和MAC地址。 * android手机默认会把这些信息存储到/proc/net/arp文件中 * 该文件保存的信息格式IP address HW type Flags HW address Mask Device * 192.168....
  • MAC地址

    2019-10-07 22:21:13
    文章目录MAC简介MAC地址格式MAC地址分类如何查看各大平台MAC地址iPhone查看方法Android查看方法Windows查看方法AppleOSX查看方法Linux查看方法如何识别随机MAC地址什么是随机MAC地址随机MAC地址样式哪些设备已经MAC...
  • 步骤1. 通过快捷键Win + R调出运行窗口,输入CMD后回车,调用命令行...  如果是以WiFi的形式联网,就看图中标示的“无线局域网适配器 WLAN”一栏,同样注意,这几个字不能错。IPV4地址一项写的就是IP地址了。   
  • 我们会看到有一个黑色窗口弹出 4...2017-01-04 14:27:10查看手机mac地址查询的方法:1、进入手机【设置】2、然后找到【WLAN】设置(无线网络)设置3、之后点击“菜单键”,会弹出“高级”选项4、进...
  • 简介:一个通过 wifi 获取到同在这个局域网下的所有连上该 wifi 的设备的 mac 地址 更多:作者 提 Bug  标签:   一个通过 wifi 获取到同在这个局域网下的所有连上该 wifi 的设备的 mac 地址 下面是获取到的...
  • android 设定wifi SSID和MAC地址的绑定

    千次阅读 2016-11-12 16:55:45
    package com.android.settings.wifi; public class WifiSettings extends RestrictedSettingsFragment implements DialogInterface.OnClickListener, Indexable, WifiTracker.WifiListener, Access

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,967
精华内容 2,386
关键字:

wifimac地址查询