Skip to main content

跨平台获取已保存 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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_wifi_info-0.1.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

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

Hashes for py_wifi_info-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cf6f8068f50973a700207f3e7b037bd1b10ca782daa8d3c2d584b98bc7ecfb74
MD5 db36683f1d272c36255fe9d2fc702cff
BLAKE2b-256 9fafc59b721d89790067b615b09d9be562158759a8cae76b57d3f68733e1e16c

See more details on using hashes here.

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

Hashes for py_wifi_info-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab7e961dde16aa320a2efb6089208bc8076cf4ae417245fd94e2897dbffd78b1
MD5 47f9dd0a26eb53d43b423f5ab2a9e7cc
BLAKE2b-256 091e11738b21fe0322e411e44ed60fcdc29c34a0db7b4f3261a680624ee8ad93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page