使用Node.js怎么获取WI-FI密码
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家分享的是有关使用Node.js怎么获取WI-FI密码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。演示效果全局安装wifi-password-cli依赖npm
千家信息网最后更新 2025年01月23日使用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安全错误
数据库的锁怎样保障安全
网络安全造成的影响
新会展中心网络安全
性能服务器多少钱一台
游戏软件开发公司哪些靠谱
四方后台监控系统数据库安装
苹果软件开发定制费用
德州党性体检软件开发电话
原阳县快餐大数据库
操作系统里有哪些是数据库
惠州商城软件开发价格实惠
大话3降龙伏虎服务器
网络安全是怎样实现的
宣亚国际网络安全审查
互联网非遗科技
提高软件开发书籍
智能化软件开发质量保证
战地无服务器国旗
数据库技术前沿
广州鼎基互联网科技
深圳专业软件开发代理价格
中流房地一体数据库
海康视频图像信息数据库
数据库表格提示列无效
网络安全最近比赛
企业将服务器等设备全部上云
江夏区国际网络安全维护报价表
网络安全三百字作文
以下指标能反应顺序型数据库
鱼池联不上海外服务器
哔哩哔哩服务器出问题