迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中获取 Mac 地址

作者:迹忆客 最近更新:2024/03/22 浏览次数:

为了将数据从一台计算机传送到另一台计算机,我们需要一些地址。在计算机网络中,引入了各种地址,每个地址都在不同的层上工作。

例如,媒体访问控制地址是在数据链路层工作的物理地址。本文将讨论 DLL 中的寻址,即 MAC 地址,并演示如何使用 JavaScript 获取用户的 MAC 地址。


MAC 地址

MAC(媒体访问控制)是分配给网络接口控制器的 48 位唯一标识符。它是与每个网络设备相关联的物理地址。

数据链路层使用 MAC 地址将数据包从源路由到其目的地。它在 IEEE 802 标准中分为两个子层:

  1. 逻辑链路控制 (LLC) 子层
  2. 媒体访问控制 (MAC) 子层

由于存在数以百万计的网络设备,我们需要唯一地识别每一个设备,因此 MAC 地址在全球范围内都是唯一的。


MAC 地址格式

MAC 地址是 12 位十六进制数(6 字节二进制数),通常以冒号-十六进制表示法书写。OUI(组织唯一标识符*)是 MAC 地址的前 6 位数字(例如,00:40:96)。

IEEE 注册机构委员会将这些 MAC 前缀分配给其注册供应商。以下是一些知名厂商的 OUI:

CC:46:D6 - Cisco
3C:5A:B4 - Google, Inc.
3C:D9:2B - Hewlett Packard
00:9A:CD - HUAWEI TECHNOLOGIES CO.,LTD

制造商将最右边的六位数字分配给网络接口控制器。

如上所述,MAC 地址是用冒号-十六进制格式编写的,但这只是一种转换,并不是必需的。以下任何一种格式都可用于表示 MAC 地址:


在 JavaScript 中使用 ActiveX 对象获取 MAC 地址

我们只能使用 Microsoft 的 ActiveX 对象控件在 JavaScript 中获取用户的 MAC 地址。它只能在 Internet Explorer 上工作,因为 ActiveX 对象在任何其他浏览器中都不可用。

要启用 ActiveX 对象,我们将转到工具并选择 Internet 选项。然后在安全标签页上,我们将单击自定义级别。

我们将继续下去,直到我们看到 Initialize 和脚本 ActiveX 控件未标记为安全。我们将启用它,然后单击确定。

<script type="text/javascript">
    var macAddress = "";
    var computerName = "";
    var wmi = GetObject("winmgmts:{impersonationLevel=impersonate}");
    e = new Enumerator(wmi.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"));
    for(; !e.atEnd(); e.moveNext()) {
        var s = e.item();
        macAddress = s.MACAddress;
        computerName = s.DNSHostName;
    }
</script>

现在,我们进入编码部分。我们可以将上面的代码添加到 HTML 头部或主体的任何位置,但如果我们选择将其放在主体中,请将其放在下面的代码上方。

在这里,我们将访问 Win32_NetworkAdapterConfiguration 以读取与网络相关的详细信息,例如 MAC 地址、IP 地址和计算机名称。然后,我们可以使用文本框来显示该信息或我们喜欢的任何内容。

<script type="text/javascript">
<input type="text" id="txtMACAdress" />
<input type="text" id="txtComputerName" />

<script type="text/javascript">
    document.getElementById("txtMACAdress").value = unescape(macAddress);
    document.getElementById("txtComputerName").value = unescape(computerName);
</script>

我们必须确保将声明放在此代码上方以正确显示值。现在,客户端可以看到他们的 MAC 地址显示在屏幕上。

你可以在此链接中找到此问题的完整代码。我们还在下面提供了屏幕截图。

由于明显的原因,此屏幕截图上的输出已被模糊。

上一篇:在 JavaScript 中更改页面

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 JavaScript 中高亮显示文本

发布时间:2024/03/22 浏览次数:103 分类:JavaScript

本教程向我们展示了如何使用 JavaScript 高亮显示文本。将用于此目的的方法是 searchPrompt 方法和标记标记方法,将使用代码段详细说明。

在 JavaScript 中创建哔声

发布时间:2024/03/22 浏览次数:119 分类:JavaScript

JavaScript 不具有任何直接的方法或属性来警告哔声或在特定函数上产生任何声音。但是该任务可以通过添加音频源并使用 JavaScript 音频功能使用 HTML 标记来完成。

JavaScript 中的转义引号

发布时间:2024/03/22 浏览次数:189 分类:JavaScript

JavaScript 转义引号可以有多种类型。可以使用双引号或单引号或(\)。另一种操作转义引号的方法是使用实体字符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便