• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 浅谈利用Node.js如何获取WI-FI密码

浅谈利用Node.js如何获取WI-FI密码

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了利用Node.js,获取WI-FI密码等相关知识,希望对您有所帮助

利用Node.js如何获取WI-FI密码?下面本篇文章给大家介绍一下使用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/<wifi-name>


Windows系统

通过下面的命令查询wifi密码

netsh wlan show profile name=<wifi-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;    });};


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈利用Node.js如何获取WI-FI密码

相关文章

  • 2022-04-29DedeCMS织梦模板使likearticle标签支持排序orderby的方法
  • 2022-04-29WordPress文章页如何自动推送提交MIP/AMP页面
  • 2022-04-29详解thinkphp ajaxfileupload异步上传图片
  • 2022-04-29Photoshop绘制任天堂Wii游戏手柄
  • 2022-04-29小程序如何获取input标签的值
  • 2022-04-29WordPress教程:WordPress博客添加自定义鼠标样式
  • 2022-04-29用Coreldraw做漂亮的动画图片
  • 2022-04-29Photoshop绘制清新绿色立体桔子按钮
  • 2022-04-29Photoshop制作血迹喷溅效果的艺术字
  • 2022-04-29百度更加重视和同行交换连接,事实证明

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • CorelDRAW绘制可爱的卡通蘑菇与花朵
    • linux中添加用户的命令是什么
    • WordPress密码重设提示“您的密码重设链接无效,请在下方请求新链接”
    • Photoshop结合AI绘制质感超强的标签
    • 详解php中函数的引用传递和返回 (附代码)
    • laravel-admin怎么使用wang-editor富文本插件
    • dede 安全设置集合!dede站长必看!
    • WordPress获取各类页面链接的函数总结
    • PHP高级检索功能的实现以及动态拼接sql
    • DEDECMS用函数实现隔行换色以及分组加线

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有