使用Node.js怎么获取WI-FI密码
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关使用Node.js怎么获取WI-FI密码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。演示效果全局安装wifi-password-cli依赖npm
千家信息网最后更新 2025年11月08日使用Node.js怎么获取WI-FI密码
这篇文章给大家分享的是有关使用Node.js怎么获取WI-FI密码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
演示效果
全局安装wifi-password-cli依赖
npm install wifi-password-cli -g# ornpx wifi-password-cli
使用
$ wifi-password [network-name]$ wifi-password12345678$ wifi-password 办公室wifia1234b2345
觉得Node.js很神奇是么?其实并不是,我们看看它是如何实现的
实现原理
OSX系统
通过下面的命令查询wifi密码
security find-generic-password -D "AirPort network password" -wa "wifi-name"
Linux系统
所有的wi-fi连接信息都在/etc/NetworkManager/system-connections/文件夹中
我们通过下面的命令来查询wifi密码
sudo cat /etc/NetworkManager/system-connections/
Windows系统
通过下面的命令查询wifi密码
netsh wlan show profile name=key=clear
实现源码
它的实现源码也很简单,感兴趣可以学习
https://github.com/kevva/wifi-password
入口文件是index.js,首先通过判断用户的操作系统去选择不同的获取方式
'use strict';const wifiName = require('wifi-name');module.exports = ssid => { let fn = require('./lib/linux'); if (process.platform === 'darwin') { fn = require('./lib/osx'); } if (process.platform === 'win32') { fn = require('./lib/win'); } if (ssid) { return fn(ssid); } return wifiName().then(fn);};Linux
'use strict';const execa = require('execa');module.exports = ssid => { const cmd = 'sudo'; const args = ['cat', `/etc/NetworkManager/system-connections/${ssid}`]; return execa.stdout(cmd, args).then(stdout => { let ret; ret = /^\s*(?:psk|password)=(.+)\s*$/gm.exec(stdout); ret = ret && ret.length ? ret[1] : null; if (!ret) { throw new Error('Could not get password'); } return ret; });};OSX
'use strict';const execa = require('execa');module.exports = ssid => { const cmd = 'security'; const args = ['find-generic-password', '-D', 'AirPort network password', '-wa', ssid]; return execa(cmd, args) .then(res => { if (res.stderr) { throw new Error(res.stderr); } if (!res.stdout) { throw new Error('Could not get password'); } return res.stdout; }) .catch(err => { if (/The specified item could not be found in the keychain/.test(err.message)) { err.message = 'Your network doesn\'t have a password'; } throw err; });};Windows
'use strict';const execa = require('execa');module.exports = ssid => { const cmd = 'netsh'; const args = ['wlan', 'show', 'profile', `name=${ssid}`, 'key=clear']; return execa.stdout(cmd, args).then(stdout => { let ret; ret = /^\s*Key Content\s*: (.+)\s*$/gm.exec(stdout); ret = ret && ret.length ? ret[1] : null; if (!ret) { throw new Error('Could not get password'); } return ret; });};感谢各位的阅读!关于"使用Node.js怎么获取WI-FI密码"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
密码
系统
命令
面的
查询
内容
文件
更多
源码
篇文章
不同
不错
实用
神奇
操作系统
信息
入口
全局
兴趣
办公室
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
体彩网络安全中心主任
软件开发苹果笔记本电脑推荐
极客如何设置网络安全
linux命令怎么停服务器
西城区品牌软件开发售后保障
腾讯和华为的服务器放在哪个地方
dbca删除数据库语句
海港区网络安全检查
广东省网络安全宣传片视频
北京天元网络技术是浪潮的吗
栖霞管理系统软件开发企业
烂橘子服务器origin
培养规范化软件开发
幼儿园制定网络安全教育内容
金融业网络安全法影响
青岛软件开发哪家靠谱
软件开发粒子系统
泗店服务器
计算机网络技术的素质条件
网络安全法规定网信部门
软件开发产生的文档
江苏自动软件开发服务价格
软件开发岗位说明书模板
谷歌水冷服务器
中国移动宽带网络技术
会议涉及到哪些数据库
哪种网络技术功能成本低
浙江科技城互联网创意创新
六盘水软件开发公司
嵌入式视频管理平台服务器