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

您可能已经知道,当您第一次连接到无线网络时,密码将保存在您的 Linux 机器中。 所以你不需要每次都输入你的无线网络的密码。 在随后的时间里,可用的 WiFi 网络将自动连接。 随着时间的推移,您可能已经忘记了密码。 现在您想将新设备添加到同一个 WiFi 网络,但您不记得密码。 你要做什么? 不用担心! 我知道一些在 Linux 中查找已连接网络的 WiFi 密码的方法。

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

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

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

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

在 Ubuntu 及其变体中,无线网络配置文件保存在 /etc/NetworkManager/system-connections/ 目录。 让我们看一下保存或连接的 WiFi 网络配置文件:

$ ls /etc/NetworkManager/system-connections/

样本输出:

'HP 7 VoiceTab Network' JioFi4_12E9FE sktab

在 Linux 中从命令行查看连接的 Wifi 网络

如您所见,我的 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

在 Linux 中从命令行查找已连接网络的 WiFi 密码

在上面的输出中, psk value 是给定 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 从命令行查找已连接网络的 WiFi 密码

我们可以使用而不是查看配置文件 nmtuiNetworkManager 的 curses 接口。

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

$ nmcli -g NAME connection show

样本输出:

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

现在找到wifi网络的密码,对于 example “JioFi4_12E9FE”,如下图:

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

使用 Nmcli 从命令行查找已连接网络的 WiFi 密码

使用 Nmcli 从命令行查找已连接网络的 WiFi 密码

要获取给定网络的所有详细信息,只需从上述命令中删除选项“-g 802-11-wireless-security.psk”:

$ nmcli -s connection show JioFi4_12E9FE

谢谢 斯蒂芬妮 对于这个提示。

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

如果您对命令行方式不满意,这里是如何以图形方式进行操作。

单击顶部面板上的 WiFi 图标。 将出现一个下拉菜单。 单击已连接的 WiFi SSID,然后再次单击“WiFi 设置”。

在 Linux 中编辑 Wifi 网络设置

在 Linux 中编辑 Wifi 网络设置

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

编辑 Wifi 网络设置

编辑 Wifi 网络设置

现在将打开选定的 WiFi 网络设置窗口。 在“安全”选项卡下,您将看到带有星号的密码。 要显示密码,只需单击“显示密码”复选框。

在 Linux 中从网络管理器 (GUI) 中查找已连接网络的 WiFi 密码

在 Linux 中从网络管理器 (GUI) 中查找已连接网络的 WiFi 密码

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

维弗雷斯蒂 是一个简单的 Python 脚本,用于查找已保存或连接的 WiFi 网络的密码。 它适用于 Linux、Mac OS 和 Windows。 此脚本由创建的同一开发人员创建 “卡托林”.

在 Linux 中安装 Wifresti

Git 使用以下命令克隆 Wifresti GitHub 存储库:

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

此命令会将 Wifresti 存储库的内容下载到名为“wifresti”的本地文件夹中。

cd 到这个目录:

$ cd wifresti/

将 wifresti.py 复制到您的 $PATH:

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

使其可执行:

$ chmod +x /usr/bin/wifresti

接下来,运行 wifresti 作为 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 网络的列表。 Enter 网络名称以查看其密码。 要查看所有 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
 
#############################################################################################
[...]

使用 Wifresti 查找已连接网络的 WiFi 密码

使用 Wifresti 查找已连接网络的 WiFi 密码

要退出,请按 CTRL+C。

此外,Kali Linux 中有许多密码恢复工具。 你不必安装 Kali Linux。 只需在您的 Ubuntu 系统上安装 Kali Linux 工具并使用您选择的密码恢复工具。 要了解如何在 Ubuntu 上安装 Kali Linux 工具,请参阅以下指南。

  • 在 Ubuntu 20.04 LTS 中使用 Katoolin3 安装 Kali Linux 工具

相关阅读:

  • 如何在 Arch Linux 中从终端更新 Wifi 网络密码
  • 如何在 Linux 中通过命令行监控 WiFi 连接

希望这可以帮助。

精选 图片来源 ivke32关注.

资源: