使用Node.js怎么获取WI-FI密码
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章给大家分享的是有关使用Node.js怎么获取WI-FI密码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。演示效果全局安装wifi-password-cli依赖npm
千家信息网最后更新 2024年11月30日使用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查询数据库密码
服务器安全策略制定
中南大学现代网络技术
思锐创途网络技术有限公司
摩尔庄园红彤彤气球服务器编号
飞蓝机房服务器管理专家
c语言复制远程服务器文件
网络安全管理责任制
腾讯云服务器价格
云服务器能翻墙吗
青少年软件开发培训计划
网络安全检查报导
Aws登录服务器二次验证
服务器老是掉
网络安全和信息化软件排行
网际直通车服务器未响应
花旗银行网软件开发
湖北正规网络技术咨询报价
太极拳下载软件开发
c 使用多个数据库
全国电信网络安全管理条例
中国工业产品产量数据库
云服务器能翻墙吗
我市启动网络安全宣传活动
2k22链接sports服务器
云服务器运维
数据库设计说明
tcu底层软件开发流程
每日学5个知识之网络技术基础