跨平台获取已保存 WiFi 网络信息(SSID、密码、WiFi 标准等)
Project description
wifi_info
跨平台获取已保存 WiFi 网络信息的 Python 库。
特性
- 跨平台支持:Windows、Linux (NetworkManager)、macOS
- 安全获取:仅读取系统已授权存储的 WiFi 信息
- 完整信息:SSID、密码、WiFi 标准、认证类型、加密方式
- 简单易用:三个清晰的方法,满足不同场景需求
- 未来兼容:自动识别新的 WiFi 协议
安装
pip install wifi_info
快速开始
方法 1: 获取所有 SSID 列表
from wifi_info import WifiInfo
wifi = WifiInfo()
ssids = wifi.list_ssids()
print(ssids) # ['HomeWiFi', 'OfficeWiFi', 'CoffeeShop']
方法 2: 获取指定网络的详细信息
from wifi_info import WifiInfo
wifi = WifiInfo()
info = wifi.get_wifi_info('HomeWiFi')
print(f"密码: {info['password']}")
print(f"WiFi 标准: {info['wifi_standard']}")
print(f"认证类型: {info['auth_type']}")
方法 3: 获取所有网络的完整信息
from wifi_info import WifiInfo
wifi = WifiInfo()
networks = wifi.info_list()
for net in networks:
print(f"SSID: {net['ssid']}, 密码: {net['password']}")
输出字段说明
每个网络信息字典包含以下字段:
| 字段名 | 类型 | 描述 | 示例 |
|---|---|---|---|
ssid |
str |
网络名称 | "MyHomeWiFi" |
password |
str | None |
明文密码(若可获取) | "secret123" |
wifi_standard |
str | None |
WiFi 标准 | "Wi-Fi 6" |
auth_type |
str | None |
认证类型 | "WPA2-Personal" |
cipher |
str | None |
加密算法 | "CCMP" |
platform_source |
str |
数据来源平台 | "windows_netsh" |
支持的 WiFi 标准
- Wi-Fi 1 (802.11b)
- Wi-Fi 2 (802.11g)
- Wi-Fi 4 (802.11n)
- Wi-Fi 5 (802.11ac)
- Wi-Fi 6 (802.11ax)
- Wi-Fi 6E (802.11ax + 6GHz)
- Wi-Fi 7 (802.11be)
- 未知协议自动保留原始名称(如
802.11BF)
权限说明
- Windows: 无需管理员权限
- Linux: 可能需要 sudo 权限读取 NetworkManager 配置
- macOS: 会触发系统钥匙串授权弹窗
开发
# 克隆仓库
git clone https://github.com/dingtongbin/wifi_info.git
cd wifi_info
# 安装依赖
pip install -e ".[dev]"
# 运行测试
pytest tests/ -v
使用示例
更多示例请查看 examples.py 文件。
贡献
欢迎提交 Issue 和 Pull Request!
许可证
Apache License 2.0
作者
dingtongbin
链接
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py_wifi_info-0.1.1.tar.gz
(19.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_wifi_info-0.1.1.tar.gz.
File metadata
- Download URL: py_wifi_info-0.1.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf6f8068f50973a700207f3e7b037bd1b10ca782daa8d3c2d584b98bc7ecfb74
|
|
| MD5 |
db36683f1d272c36255fe9d2fc702cff
|
|
| BLAKE2b-256 |
9fafc59b721d89790067b615b09d9be562158759a8cae76b57d3f68733e1e16c
|
File details
Details for the file py_wifi_info-0.1.1-py3-none-any.whl.
File metadata
- Download URL: py_wifi_info-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab7e961dde16aa320a2efb6089208bc8076cf4ae417245fd94e2897dbffd78b1
|
|
| MD5 |
47f9dd0a26eb53d43b423f5ab2a9e7cc
|
|
| BLAKE2b-256 |
091e11738b21fe0322e411e44ed60fcdc29c34a0db7b4f3261a680624ee8ad93
|