在Linux中查找连接网络的WiFi密码

时间:2020-03-21 11:43:46  来源:igfitidea点击:

在Linux中查找连接网络的WiFi密码

我们可以从命令行或者GUI或者使用任何第三方密码恢复工具找到保存网络的Wi-Fi密码。
在Ubuntu 20.04 LTS桌面(GNOME)中测试了以下步骤,但这些步骤可能在其他Linux发行版中也是如此。

让我们首先看看如何从命令行揭示无线网络密码。

1.从命令行查找连接网络的WiFi密码

在Ubuntu及其变体中,无线网络配置文件保存在/etc/networkManager/System-Connection /目录中。
让我们看看保存的或者连接的WiFi网络配置文件:

$ls /etc/NetworkManager/system-connections/

示例输出:

'HP 7 VoiceTab Network' JioFi4_12E9FE sktab

如我们所见,我在Ubuntu系统中有3个已保存网络的配置文件。
这些文件将具有每个网络的各种细节,例如WiFi ID,MAC地址,SSID,身份验证方法,WiFi密码等。
只需使用CAT命令或者文本编辑器打开此文件以查看密码。

例如,我将使用命令查看"jiofi4_12e9fe"wifi的详细信息:

[...]
[wifi]
mac-address=XX:XX:XX:XX:XX:XX
mac-address-blacklist=
mode=infrastructure
ssid=JioFi4_12E9FE
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=xxxxxxxxxxx
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

在上述输出中,PSK值是给定WiFi网络的密码。
对于那些想知道的人来说,PSK(预共享密钥)是客户身份验证方法。
它使用64个十六进制数字的字符串,或者作为8到63可打印的ASCII字符的密码,以为每个无线客户端生成唯一的加密密钥。
PSK是在瞻博网络无线网络上用于WPA和WPA2加密的两个可用身份验证方法之一。

或者,我们可以使用Grep命令快速查找如下所保存的或者连接的WiFi网络的密码:

$sudo grep -r '^psk=' /etc/NetworkManager/system-connections/

此命令将显示所有连接的无线网络的PSK(密码)。

示例输出:

/etc/NetworkManager/system-connections/sktab:psk=xxxxxxxx
/etc/NetworkManager/system-connections/JioFi4_12E9FE:psk=xxxxxxxx

我们也可以使用:

$sudo grep psk= /etc/NetworkManager/system-connections/*

如果我们不希望看到WiFi SSID名称,但只有密码,请使用-h标志:

$sudo grep -hr '^psk=' /etc/NetworkManager/system-connections/

示例输出:

psk=xxxxxxxx
psk=xxxxxxxx

上面命令的一个问题是我们不知道ssid的哪个密码。
所以,最好不要使用-h标志。

2.使用NMCLI查找来自CommandLine的连接网络的WiFi密码

我们可以使用NMTUI,而不是调查配置文件,而是用于NetworkManager的Curses接口。

使用命令查找可用有线和无线网络连接列表:

$nmcli -g NAME connection show

示例输出:

JioFi4_12E9FE
mpqemubr0
tap-d8f1eebb39f
HP 7 VoiceTab Network
sktab
Wired connection 1

现在找到WiFi网络的密码,例如"jiofi4_12e9fe",如下所示:

$nmcli -s -g 802-11-wireless-security.psk connection show JioFi4_12E9FE

要获取给定网络的所有细节,请从上面的命令中删除"-g 802-11-wireless-security.psk"选项:

$nmcli -s connection show JioFi4_12E9FE

谢谢斯蒂芬的这个尖端。

3.从网络管理器(GUI)找到连接网络的WiFi密码

如果我们对命令行的方式不满意,那么这里是如何以图形方式进行的。

单击顶面板上的WiFi图标。
将出现下拉菜单。
单击连接的WiFi SSID,然后再次单击"WiFi设置"。

在下一个窗口中,我们将看到当前连接的网络列表。
单击我们首选的WiFi网络旁边的齿轮图标。

现在所选的WiFi网络设置窗口将打开。
在"安全性"选项卡下,我们将在星号中看到密码。
要显示密码,请单击"查看密码"复选框。

4.使用wifresti查找连接网络的WiFi密码

Wiferesti是一个简单的Python脚本,用于查找保存或者连接的WiFi网络的密码。
它适用于Linux,Mac OS和Windows。
此脚本由创建"Katoolin"的相同开发人员创建。

在Linux中安装wifresti

git clone使用命令克隆wifresti github存储库:

$git clone https://github.com/LionSec/wifresti.git

此命令将在名为"wifresti"的本地文件夹中下载Wiferesti存储库的内容。

CD进入此目录:

$cd wifresti/

将wifresti.py复制到$path:

$sudo cp wifresti/wifresti.py /usr/bin/wifresti

使它可执行文件:

$chmod +x /usr/bin/wifresti

接下来,运行wiferesti作为sudo用户列出所有可用的wifi网络:

$sudo wifresti

选择我们使用的操作系统:

/$$ /$$$$$$                               /$$    /$$
              |__//$$__  $$                             | $$   |__/
 /$$ /$$ /$$/$$| $$ __//$$$$$$  /$$$$$$  /$$$$$$$/$$$$$$  /$$
| $$| $$| $$| $$| $$$$  /$$__  $$/$$__  $$/$$_____/|_  $$_/ | $$
| $$| $$| $$| $$| $$_/ | $$ __/| $$$$$$$$|  $$$$$$  | $$   | $$
| $$| $$| $$| $$| $$   | $$     | $$_____/____  $$ | $$/$$| $$
|  $$$$$/$$$$/| $$| $$   | $$     |  $$$$$$$/$$$$$$$/ |  $$$$/| $$
 _____/___/|__/|__/   |__/      _______/|_______/   ___/ |__/

	Author: LionSec | Website: www.neodrix.com | @lionsec1	V1.0			

Please choose your operating system.

 1) linux
 2) Windows
 3) Mac OS

> 1
[...]

我们将看到可用的WiFi网络列表。
输入网络名称以查看其密码。
要查看所有WiFi网络的密码,请键入"A"并按Enter键。

[...]
All wireless networks :

HP 7 VoiceTab Network
JioFi4_12E9FE
sktab

Insert the network name , or press (a) to see information about all networks.

> JioFi4_12E9FE
############ - JioFi4_12E9FE - ############

key-mgmt=wpa-psk
psk=xxxxxxxx
[...]

要退出,请按Ctrl + C.

此外,Kali Linux中有许多密码恢复工具。
我们不必安装Kali Linux。
只需在Ubuntu系统上安装Kali Linux工具,并使用我们选择的密码恢复工具。