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.2.tar.gz (22.4 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.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_wifi_info-0.1.2.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for py_wifi_info-0.1.2.tar.gz
Algorithm Hash digest
SHA256 97767fec6506f5a1f47c7e21bb8478797bb8895f1f1755fbcd0579f92b7dd9db
MD5 ed0e2cc3c2694704f4d84fdc472b468c
BLAKE2b-256 3665d54e51867b1ecad7fe452e43daeadff50c6b044198625031eb95e5ab94de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_wifi_info-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for py_wifi_info-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf359e256e1fee86ecd7a185e74f9b88906c2bde1780c03bd3b08d3f1653d7a7
MD5 7914a6d6d7323c27f02bef043be9fbf2
BLAKE2b-256 99bd4a0c8903858eec1d87d5c52e3cbce7151a7990313f3a8313eac4ffcc3794

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