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

在Android机顶盒上 怎样获取有线网卡MAC地址,第1张

 在Android机顶盒上 获取有线网卡MAC地址方法:

(1) 调用android 的API: NetworkInterface getHardwareAddress ()

该API的level为9,只有android 23以上才有该接口

(2) 调用java 的方法: nbtstat/arp

一般android不支持这两个命令

(3) 调用Android的API: WifiManager

权限:

1 <uses-permission android:name="androidpermissionACCESS_WIFI_STATE"></uses- permission>

代码:

12345 WifiManager wifi = (WifiManager) getSystemService(ContextWIFI_SERVICE); WifiInfo info = wifigetConnectionInfo(); return infogetMacAddress();

这个是设备开通Wifi连接,获取到网卡的MAC地址

(4) 调用Linux的busybox

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657/ 子函数:获得本地MAC地址 / public String getMacAddress(){ String result = ""; String Mac = ""; result = callCmd("busybox ifconfig","HWaddr"); //如果返回的result == null,则说明网络不可取 if(result==null){ return "网络出错,请检查网络"; } //对该行数据进行解析 //例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67 if(resultlength()>0 && resultcontains("HWaddr")==true){ Mac = resultsubstring(resultindexOf("HWaddr")+6, resultlength()-1); Logi("test","Mac:"+Mac+" Maclength: "+Maclength()); if(Maclength()>1){ Mac = MacreplaceAll(" ", ""); result = ""; String[] tmp = Macsplit(":"); for(int i = 0;i<tmplength;++i){ result +=tmp[i]; } } Logi("test",result+" resultlength: "+resultlength()); } return result; } public String callCmd(String cmd,String filter) { String result = ""; String line = ""; try { Process proc = RuntimegetRuntime()exec(cmd); InputStreamReader is = new InputStreamReader(procgetInputStream()); BufferedReader br = new BufferedReader (is); //执行命令cmd,只取结果中含有filter的这一行 while ((line = brreadLine ()) != null && linecontains(filter)== false) { //result += line; Logi("test","line: "+line); } result = line; Logi("test","result: "+result); } catch(Exception e) { eprintStackTrace(); } return result; }

这个需要设备支持busybox工具

(5)查询记录了MAC地址的文件“/proc/net/arp”

需要有这个文件,并且记录了相应的内容

电脑显示获取网络地址解决办法:

1、网卡驱动程序异常导致一直显示“正在获取网络地址”,为了查看网卡是否正常,可通过ping命令来查看网卡是否正常,通过快捷键:win(键盘上的旗标键)+R(键盘R键),打开运行,然后输入cmd,打开命令提示符;

2、在打开的命令提示符中,输入:ping 127001(回环地址),以检测网卡是否正常,若出现如图所示的界面,则证明网卡正常,就进行第四步,否则进行第三步;

3、当发现网卡不正常,可以认为是网卡物理损伤(即损坏),或者驱动问题。物理损伤,只能更换新的网卡,如不是物理损伤,可通过右击计算机-管理--设备管理器,查看网卡驱动器上是否有感叹号,如果有,就说明是驱动问题,通过驱动精灵,可从别人的电脑上下载相应驱动,拷贝后覆盖安装即可;

4、当不存在网卡问题时,而一直显示正在获取IP地址,可能是DHCP Client服务未启动、网络IP地址配置异常、局域网网关服务器地址设置异常、DNS解析错误等。DHCP Client后台服务未启动:点击“开始”菜单——>选择“运行”——>在运行中输入“servicesmsc”,点击确定打开“服务(本地)”窗口——>在右边窗口中找到“DHCP Client”服务——>双击打开该服务——>将“启动类型”设置为“自动”——>在“服务状态”下方点击“启动(S)”——> 点击“确定”——>重新启动计算机,如果问题依旧请接第五步;

5、DHCP Client服务启动正常,可认为为IP地址配置异常,可通过在命令提示符中输入ipconfig /release和ipconfig /renew来重新获取动态IP;

6、通过上述方式依旧不能解决时,可认为是本地路由器的DHCP功能故障,动态获取无效,就将局域网动态IP地址设置为固定IP地址,将“IP地址”设置为19216812~1921681254之间的任何值——>然后将“子网掩码”设置为 2552552550——>将“默认网关”设置为19216811——>将“使用下面的DNS服务器地址”中的“首选DNS服务器”设置为19216811——>“备用DNS服务器”留空不填——>单击“确定”退出;

7、病毒木马、恶意插件感染、以及未知冲突,下载安装360安全卫士、金山毒霸等杀毒软件,以360安全卫士96beta为例——>打开360安全卫士窗口——>单击“更多”——>选择“断网急救箱”或者“LSP修复”,建议在断网急救箱无法解决的情况下选择LSP修复。

使用固定的IP地址,方法如下:

控制面板→网络和internet连接→网络连接→右键本地连接→属性→常规→interet协议(tcp/ip)→属性

使用下面的IP地址:

IP地址:19216812

子网掩码:2552552550

默认网关:19216811

按照上面的填上即可

也可以改为“自动获得”试试

以上就是关于在Android机顶盒上 怎样获取有线网卡MAC地址全部的内容,包括:在Android机顶盒上 怎样获取有线网卡MAC地址、电脑开机后出现地址违反、笔记本内置网卡,都按照路由器程序安装了,最后运行收不到IP地址,该怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9878337.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存