简介
在前端开发中,我们常常需要探测网络环境中的设备,检测设备是否在线等。npm 包 network-discovery 便是一款强大的工具,可以帮助我们轻松实现这些功能。
network-discovery 支持多种协议,包含 ARP、LLDP、UPnP 等,能够扫描本地局域网中的设备,获取设备 IP、MAC 地址等信息,兼容 Windows、Linux、MacOS 等操作系统。
本文将详细介绍 npm 包 network-discovery 的使用方法,让你快速开始实现局域网设备探测。
安装
在开始使用前,我们需要先安装 network-discovery。
在命令行中执行以下命令,即可全局安装 network-discovery:
npm install -g network-discovery
如果你希望作为依赖安装到项目中来使用,可以执行以下命令:
npm install network-discovery --save
使用
基本使用
在你的 JavaScript 代码文件中引用 network-discovery:
const NetworkDiscovery = require('network-discovery');
初始化 NetworkDiscovery:
const discovery = new NetworkDiscovery();
接下来,你可以调用 start 方法开始搜索局域网设备:
discovery.start((err, device) => { console.log(device); });
搜索开始后,每发现一个设备,就会执行回调函数并将设备信息传入,信息包含 IP 地址、MAC 地址、设备名称等。
高级配置
除了基本使用外,network-discovery 还支持一些高级配置选项,例如选择协议、指定网卡等。下面是一些常用的高级配置选项:
选择协议
network-discovery 支持多种协议,包含 ARP、LLDP、UPnP 等。你可以通过在初始化时传入协议名称来选择协议:
const discovery = new NetworkDiscovery({ protocol: 'arp' });
指定网卡
如果你有多个网卡,可以通过指定网卡进行扫描:
const discovery = new NetworkDiscovery({ iface: 'eth0' });
自定义扫描范围
默认情况下,network-discovery 会扫描整个局域网。但你也可以指定一个子网掩码,来缩小扫描范围:
const discovery = new NetworkDiscovery({ range: '192.168.0.0/24' });
示例代码
下面是一个完整的例子,展示如何使用 network-discovery 来搜索局域网上的设备:
-- -------------------- ---- ------- ----- ---------------- - ----------------------------- ----- --------- - --- ------------------- ---------------------- -------- -- - -------------------- --- --------------------- -- - -- ----- - ------------------- - ---
总结
npm 包 network-discovery 是一款强大的工具,可以帮助我们轻松实现局域网设备探测功能。本文介绍了 network-discovery 的基本使用方法和一些高级配置选项,希望能对你学习和使用 network-discovery 有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672663660cf7123b364fc