如何注册机顶盒mac地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何注册机顶盒mac地址相关的知识,希望对你有一定的参考价值。

如何注册机顶盒mac地址

可通过2个途径获取家中电视机顶盒的MAC地址。
一、机身上贴有条形码标签(如下图),一般在机顶盒下方,找到标签中的CM编码(下图中红框所示):

二、通过遥控器操控机顶盒,获取CM地址
步骤1:   在“系统设置”选择“网络设置”,然后确认(下图中红框所示):

步骤1:   在“网络设置”中选择“CM状态”(下图中红框所示):

步骤2: 选择“Interfaces”,查看“CM MAC Address”,即为mac地址(下图中红框所示):

参考技术A 回答

可通过2个途径获取家中电视机顶盒的MAC地址。一、机身上贴有条形码标签,一般在机顶盒下方,找到标签中的CM编码:二、通过遥控器操控机顶盒,获取CM地址步骤1: 在“系统设置”选择“网络设置”,然后确认:步骤1: 在“网络设置”中选择“CM状态”:步骤2: 选择“Interfaces”,查看“CM MAC Address”,即为mac地址

Android 中获取机顶盒的 mac 地址

文章目录

背景

  • 分享实用的功能。

思路

一般来说,机顶盒的 mac 地址一般可以在文件系统中的两个地方查看,路径是:

  • /sys/class/net/eth0/address
  • /sys/class/net/wlan0/address

一般逻辑是先取 etho/address 文件中的 mac,如果获取不到再去取 wlan0/address 文件中的 mac


演示

机顶盒的 mac 地址信息页,如下图示:

可以看到 mac 地址是 04:3c:e8:95:06:24

  • 我们通过 adb 命令进入到机顶盒的 linux 系统中,通过 cat 命令查看两个文件中的值,来验证下判断逻辑是否正确。如下:
adb shell

$ cat /sys/class/net/eth0/address

$ cat /sys/class/net/wlan0/address

根据上面的两个命令和图示,可以看到我们一开始的获取 mac 地址的逻辑是正确的。下面来看下实现。


代码实现

/**
   * 获取mac地址,首先获取有线mac,没有则获取无线mac
   * @param needColon 是否需要带上冒号
   *                  true 需要携带冒号 - 11:22:33:44:55:66
   *                  false 不需要携带冒号 - 112233445566
   */
  public static String getMac(boolean needColon) 
    String stbMac = getSTBMac(needColon);
    if (null != stbMac) 
      return stbMac;
     else 
      return getWifiMac(needColon);
    
  
/**
   * Get the STB MacAddress
   * @param needColon
   */
  public static String getSTBMac(boolean needColon) 
    try 
      String filePath = "/sys/class/net/eth0/address";
      StringBuffer sb = new StringBuffer(100);
      BufferedReader br = new BufferedReader(new FileReader(filePath));
      char[] buf = new char[1024];
      int len = 0;
      while ((len = br.read(buf)) != -1) 
        String readData = String.valueOf(buf, 0, len);
        sb.append(readData);
      
      br.close();
      if (needColon)
        return sb.toString().trim();
      
      return sb.toString().trim().replace(":", "");
     catch (IOException e) 
      e.printStackTrace();
      return null;
    
  
/**
   * Get the wifi MacAddress
   * @param needColon
   */
  public static String getWifiMac(boolean needColon) 
    try 
      Process p = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address ");
      InputStreamReader isr = new InputStreamReader(p.getInputStream());
      LineNumberReader input = new LineNumberReader(isr);
      String str = "";
      for (; null != str; ) 
        str = input.readLine();
        if (str != null) 
          if (needColon)
            return str.trim();
          
          return str.trim().replace(":", "");
        
      
      input.close();
      return null;
     catch (IOException e) 
      e.printStackTrace();
      return null;
    
  

mac 的值使用也可以不需要冒号,所以同学们自己根据业务需要确定即可。


技术永不眠!我们下期见!

以上是关于如何注册机顶盒mac地址的主要内容,如果未能解决你的问题,请参考以下文章

yunos网络机顶盒怎么修改无线mac地址

在Android机顶盒上 怎样获取有线网卡MAC地址?

Android 中获取机顶盒的 mac 地址

Android 中获取机顶盒的 mac 地址

内网无法连接外网的原因是啥?

电信烽火HG110IPv4 WAN连接信息有两个地址,怎么回事?