重庆快乐十分走势图时时彩
知识改变命运 学习成就未来!

北京博雅环球教育科技集团|大学生就业创业培训|云计算|大数据|人工智能|java|Python人工智能|H5全栈|安卓开发|青少年人工智能编程|学历提升

010-53652048

使用Python爆破wifi

文章来源:博雅环球教育      浏?#26469;?#25968;:次      更新时间:2019-02-13 16:54:56
摘要:在老家这么无聊的地方,我手机又没流量让我看直播看视频,这我哪能受得了啊。草了 之前逛该的时候,偶然了解到Python有个库叫pywifi,可以去调用网卡api然后搜索wifi并软破解的,所以我就去了解了一下
 

好难受啊,我在老?#19994;膚ifi都用的不舒服

我住的地方离WIFI源头比较远。但这不是最难受的,最难受的是,他们晚上11点会准时关WIFI

我真是无语了

?

在老家这么无聊的地方,我手机又没流量让我看直播看视频,这我哪能受得了啊。草了

之前逛该的时候,偶然了解到Python有个库叫pywifi,可以去调用网卡api然后搜索wifi并软破解的,所以我就去了解了一下

下面先做个简单的介绍

 
 
 

1.

 

好起来了嗷

 

老规矩,先去看看源码8

help> pywifi

Help on package pywifi:

NAME

    pywifi - pywifi - a cross-platform wifi library.

DESCRIPTION

    

    This library is made for manipulating wifi device on varient platforms.

PACKAGE CONTENTS

    _wifiutil_linux

    _wifiutil_win

    const

    iface

    profile

    wifi

我再去GitHub上找了找

GitHub上只有简单的解释嗷,还是看源码8

我们要用的是wifi这个模块,再去看看

help> pywifi.wifi

Help on module pywifi.wifi in pywifi:

NAME

    pywifi.wifi - wifi - entry module of pywifi libary.

DESCRIPTION

    We put the fundamental implementation of wifi functions in each OS

    folder (e.g. linux, win, and osx). So, PyWiFi class is just the

    entry point to manipulate wifi devices.

CLASSES

    builtins.object

        PyWiFi

    

    class PyWiFi(builtins.object)

     |  PyWiFi provides operations to manipulate wifi devices.

     |  

     |  Methods defined here:

     |  

     |  __init__(self)

     |      Initialize self.  See help(type(self)) for accurate signature.

     |  

     |  interfaces(self)

     |      Collect the available wlan interfaces.

     |  

     |  ----------------------------------------------------------------------

     |  Data descriptors defined here:

     |  

     |  __dict__

     |      dictionary for instance variables (if defined)

     |  

     |  __weakref__

     |      list of weak references to the object (if defined)

关于描述description的意思为,wifi模块都会放在电脑的一个文件夹内,而这个库是封?#23433;?#20316;的一个包装

首先要实例化一个pywifi的对象,然后会生成一个对象

来看看这个实例化对象有什么方法,源码只给出了interfaces这个方法嗷,

字面意思是收集可用的wlan对象,不太懂是什么

继续看看源码,但是源码什么都不给,太恶心了8

那我print一下有啥方法和属性

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_logger', '_raw_obj', '_wifi_ctrl', 'add_network_profile', 'connect', 'disconnect', 'name', 'network_profiles', 'remove_all_network_profiles', 'remove_network_profile', 'scan', 'scan_results', 'status']

哟?

scan不是扫描吗,是不是可以用?#19994;?#33041;里的wifi去扫描的意思

就是这个东东

赶紧去试了一下,结果发现啥都没有

我马上就想到是不是有延迟。

加了一个延迟,就好多了

结果扫除这些东东

那些profile对象是什么来的嗷

好像是数据的意思

母鸡

去看看源码8

help> pywifi.profile

Help on module pywifi.profile in pywifi:

NAME

    pywifi.profile - Define WiFi Profile.

CLASSES

    builtins.object

        Profile

    

    class Profile(builtins.object)

     |  Methods defined here:

     |  

     |  __eq__(self, profile)

     |      Return self==value.

     |  

     |  __init__(self)

     |      Initialize self.  See help(type(self)) for accurate signature.

     |  

     |  process_akm(self)

     |  

     |  ----------------------------------------------------------------------

     |  Data descriptors defined here:

     |  

     |  __dict__

     |      dictionary for instance variables (if defined)

     |  

     |  __weakref__

     |      list of weak references to the object (if defined)

     |  

     |  ----------------------------------------------------------------------

     |  Data and other attributes defined here:

     |  

     |  __hash__ = None

这啥意思嗷

去打印方法更舒服8

这个profile对象有这些属性方法。

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'akm', 'auth', 'bssid', 'cipher', 'freq', 'id', 'key', 'process_akm', 'signal', 'ssid']

这个什么akm auth 都是啥啊

哦,这个ssid去查了一下,是名字嗷

如果你将你的无线路由器的SSID:命名为:gouwancheng ,那么当你的无线路由器开启,并启用了无线功能,和允许了SSID广播,那么你就可以轻易的?#19994;?#20320;自己的路由器的无线网络!

那都看一下

成功弄出来了。

而我老家那个wifi,就是这个-78的ChinaNet这个,。

很多,有了这么多wifi对象,该怎么连接他们咧?

去看看方法

 

     |  

     |  network_profiles(self)

     |      Get all the AP profiles.

     |  

     |  remove_all_network_profiles(self)

     |      Remove all the AP settings.

     |  

     |  remove_network_profile(self, params)

     |      Remove the specified AP settings.

     |  

     |  scan(self)

     |      Trigger the wifi interface to scan.

     |  

     |  scan_results(self)

     |      Return the scan result.

     |  

     |  status(self)

     |      Get the status of the wifi interface.

     |  

     |  ----------------------------------------------------------------------

     |  Data descriptors defined here:

     |  

     |  __dict__

     |      dictionary for instance variables (if defined)

     |  

     |  __weakref__

     |      list of weak references to the object (if defined)

GitHub上的那个例子很清楚了,就是先?#31995;魒ifi连接,然后配置需要的密码啊,连接wifi的名字啊,什么其他的

例如这样

profile = pywifi.Profile()
profile.ssid = 'testap'
profile.auth = const.AUTH_ALG_OPEN
profile.akm.append(const.AKM_TYPE_WPA2PSK)
profile.cipher = const.CIPHER_TYPE_CCMP
profile.key = '12345678'

看来profile应该是配置连接wifi的数据

这些不知道是啥嗷,照填就行了

去网上查了一下,原来是这样子的、哈哈

这里要说一下

password是什么

password是一个密码,由于方便,用了readline方法,就是有每一行的?#25216;?#21040;一个列表嗷

 

这个strip就是字符串的一个去处头尾指定地府的方法。我去找了一下才有嗷

格式为这样的

经过这样处理后就会变成一个列表了嗷

然后用这个for循环逐个爆弱口令就好了

 

效果为这样的

['HUAWEI-8ZTBPW', '', 'ChinaNet-jj2A', 'TP-LINK_459E']

Fail Current WifiName: HUAWEI-8ZTBPW Current Password: 12345678

Fail Current WifiName:  Current Password: 12345678

Fail Current WifiName: ChinaNet-jj2A Current Password: 12345678

Fail Current WifiName: TP-LINK_459E Current Password: 12345678

Fail Current WifiName: HUAWEI-8ZTBPW Current Password: 123456789

Fail Current WifiName:  Current Password: 123456789

Fail Current WifiName: ChinaNet-jj2A Current Password: 123456789

Fail Current WifiName: TP-LINK_459E Current Password: 123456789

Succ Current WifiName: HUAWEI-8ZTBPW Current Password: 88888888

但其实有些慢。弄了这么多已经过了几分钟了。爆破的效?#20351;?#20302;了‘

我CCCCCCCCCCCCCCCCCCCCCCCCC艹啊

这个HUAWEI的中了一个弱口令,我真的是太?#20197;?#20102;!!

奥利给啊

这不把他连了?

(网络2是我手机开的wifi)

果然农村人在这方面意识比?#31995;?#34180;嗷,也算我够?#20197;?#20102;

凑合着用8hhh

 

2.
一些疑问

当不用timesleep去限时时,这个wifi会什么都搜不到,很容易报错为空

手机版的那个万能钥匙我也用过,我看他是非常快的穷举法爆破wifi

但我不清楚为什么可以这么快

也许只是个幌子,骗人的,因为wifi的连接是需要验证的,这肯定需要一定时间

若是那个软件是直接裸连,不管验证的话,倒是有可能,但我不太明白

pywifi 2019-01-28 17:41:19,367 ERROR Open handle failed!

Fail Current WifiName: TP-LINK_459E Current Password: 00000000

pywifi 2019-01-28 17:41:19,392 ERROR Open handle failed!

pywifi 2019-01-28 17:41:19,454 ERROR Open handle failed!

我如果把限时的5秒去掉。就会报错,不知道什么意思

不懂,我也是刚?#21727;?#36825;个库嗷

溜了

 

本周精华

重庆快乐十分走势图时时彩 天天捕鱼客服 北京赛车pk10官网开奖 海南飞鱼彩票算法公式 123期大乐透开奖历史记录 十一运夺金专家预测 湖北快三技巧走势图 天易棋牌手机版安卓版 时时彩在线杀码计划 什么彩票网站 云南快乐十分走势一定牛