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.0.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.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file py_wifi_info-0.1.0.tar.gz.

File metadata

  • Download URL: py_wifi_info-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 cf81ccf17d38099e0c9f1aa1e83c1d7f3b477923d1704ff34acd01263bbb9847
MD5 ec9dc00677b189d64d3e3f8279f3582f
BLAKE2b-256 d874b1999a931d62d67fcc648d7aa9b3932c3601ff838894a98aca94d195d238

See more details on using hashes here.

File details

Details for the file py_wifi_info-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: py_wifi_info-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1d921aa7e35ffd309b0ceef36ace016e0c682bf79e42cca5b13c72c269896a1
MD5 3f5d20c393f1cbb90b54c718944137d0
BLAKE2b-256 c803711181222de0ee982ef6850c5174823aafd38070170942993b28f7d476c3

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