Heim > Web-Frontend > js-Tutorial > Hauptteil

Eine kurze Diskussion darüber, wie Sie mit Node.js ein WLAN-Passwort erhalten

青灯夜游
Freigeben: 2021-09-08 10:49:47
nach vorne
2866 Leute haben es durchsucht

Wie erhalte ich das WLAN-Passwort mit Node.js? Im folgenden Artikel erfahren Sie, wie Sie mit Node.js das WLAN-Passwort erhalten. Ich hoffe, dass er Ihnen weiterhilft!

Eine kurze Diskussion darüber, wie Sie mit Node.js ein WLAN-Passwort erhalten

【Empfohlenes Lernen: „nodejs-Tutorial“】

Demo-Effekt

Globale Installation wifi-password-cli hängt von wifi-password-cli依赖

npm install wifi-password-cli -g
# or
npx wifi-password-cli
Nach dem Login kopieren

使用

$ wifi-password [network-name]

$ wifi-password
12345678

$ wifi-password 办公室wifi
a1234b2345
Nach dem Login kopieren

觉得Node.js很神奇是么?其实并不是,我们看看它是如何实现的

实现原理

OSX系统

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

security find-generic-password -D "AirPort network password" -wa "wifi-name"
Nach dem Login kopieren

Linux系统

所有的wi-fi连接信息都在/etc/NetworkManager/system-connections/文件夹中

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

sudo cat /etc/NetworkManager/system-connections/<wifi-name>
Nach dem Login kopieren

Windows系统

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

netsh wlan show profile name=<wifi-name> key=clear
Nach dem Login kopieren

实现源码

它的实现源码也很简单,感兴趣可以学习

https://github.com/kevva/wifi-password

入口文件是index.js

&#39;use strict&#39;;
const wifiName = require(&#39;wifi-name&#39;);

module.exports = ssid => {
	let fn = require(&#39;./lib/linux&#39;);

	if (process.platform === &#39;darwin&#39;) {
		fn = require(&#39;./lib/osx&#39;);
	}

	if (process.platform === &#39;win32&#39;) {
		fn = require(&#39;./lib/win&#39;);
	}

	if (ssid) {
		return fn(ssid);
	}

	return wifiName().then(fn);
};
Nach dem Login kopieren

Use ab.

&#39;use strict&#39;;
const execa = require(&#39;execa&#39;);

module.exports = ssid => {
	const cmd = &#39;sudo&#39;;
	const args = [&#39;cat&#39;, `/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(&#39;Could not get password&#39;);
		}

		return ret;
	});
};
Nach dem Login kopieren
Fe el Knoten. js Erstaunlich, nicht wahr? Eigentlich nicht, mal sehen, wie es implementiert wird

Implementierungsprinzip

OSX-System

durch den folgenden Befehl um das WLAN-Passwort abzufragen
&#39;use strict&#39;;
const execa = require(&#39;execa&#39;);

module.exports = ssid => {
	const cmd = &#39;security&#39;;
	const args = [&#39;find-generic-password&#39;, &#39;-D&#39;, &#39;AirPort network password&#39;, &#39;-wa&#39;, ssid];

	return execa(cmd, args)
		.then(res => {
			if (res.stderr) {
				throw new Error(res.stderr);
			}

			if (!res.stdout) {
				throw new Error(&#39;Could not get password&#39;);
			}

			return res.stdout;
		})
		.catch(err => {
			if (/The specified item could not be found in the keychain/.test(err.message)) {
				err.message = &#39;Your network doesn\&#39;t have a password&#39;;
			}

			throw err;
		});
};
Nach dem Login kopieren

Linux-System

Alle WLAN-Verbindungsinformationen befinden sich im Ordner /etc/NetworkManager/system-connections/

Wir verwenden den folgenden Befehl, um das WLAN-Passwort abzufragen🎜
&#39;use strict&#39;;
const execa = require(&#39;execa&#39;);

module.exports = ssid => {
	const cmd = &#39;netsh&#39;;
	const args = [&#39;wlan&#39;, &#39;show&#39;, &#39;profile&#39;, `name=${ssid}`, &#39;key=clear&#39;];

	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(&#39;Could not get password&#39;);
		}

		return ret;
	});
};
Nach dem Login kopieren

🎜Windows-System🎜🎜🎜Wir verwenden den folgenden Befehl, um das WLAN-Passwort abzufragen🎜rrreee

🎜Implementierungsquellcode🎜🎜🎜Der Implementierungsquellcode ist auch sehr einfach. Wenn Sie interessiert sind, können Sie ihn lernen🎜🎜https://github.com/kevva/wifi-password🎜🎜Der Eintrag Die Datei ist index.js. Wählen Sie zunächst verschiedene Erfassungsmethoden aus, indem Sie das Betriebssystem des Benutzers beurteilen Wissen, besuchen Sie bitte: 🎜Programmiervideo 🎜! ! 🎜🎜

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, wie Sie mit Node.js ein WLAN-Passwort erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage