python黑科技:还在为没有wifi而烦心吗?这篇文章解决你的困扰

python作为一门高级编程语言,它的定位是优雅、明确和简单。阅读Python编写的代码感觉像在阅读英语一样,这让使用者可以专注于解决问题而不是去搞明白语言本身。Python虽然是基于C语言编写,但是摒弃了C中复杂的指针,使其变得简明易学。并且作为开源软件,Python允许对代码进行阅读,拷贝甚至改进。这些性能成就了Python的高效率,有“人生苦短,我用Python”之说,是一种十分精彩又强大的语言。

在最近的公司项目开发中接触到python语言及wifi相关的一些知识,正好将最近学到的和大家分享一下。

0x0001 开发环境:

windows 10+python2.7.15

0x0002 开发目标:

开发基于字典破解wifi热点密码的小工具

在开发这个工具的时候笔者现在网上搜索到了一些项目,但都是linux下的,不能直接用于windows平台,因此就决定结合找到的linux下的项目,修改成windows下可运行的。

首先找到文章《一个非常简单易懂的WIFI密码爆破python脚本》但是文章中说使用了pywifi模块,“这个模块在win下有点鸡肋,作者在调用WLANAPI时没有做好WLAN_SECURITY_ATTRIBUTES的封装,所以推荐在linux下跑,我测试所使用的是Kali 2.0 自带python 2.7.6 ,可直接通过 pip install pywifi 安装。”但笔者在测试的时候发现,在windows下还是可以运行的,因为要对这个模块的源代码进行一些修改,所以就没有安装模块,而是直接拷贝模块的源代码到项目目录下。

0x0003 模块的修改:

在使用模块自带的测试用例时候,发现print输出了很多无用的信息,因此在_wifiutil_win.py的335行去掉对“show_my_need_info”的调用。

0x0004 程序执行流程

功能需求比较清晰,因此我们的步骤如下:

1、获得本机无线网卡信息

2、扫描周围wifi热点

3、使用字典尝试连接wifi热点

4、输出扫描结果

按照上面的流程就可以编写代码了。

0x0005 代码实现

获得无线网信息

引用模块后,主要使用interfaces函数获取本机无线网卡信息,具体代码封装如下:

扫描周围热点

主要通过scan函数获得scan_results结果,具体代码封装如下,这里sleep(2)是因为测试的时候本机的无线网卡返回信息需要一些时间,当然如果你的网卡性能好,可以去掉这个sleep:

尝试连接(破解密码)

密码破解这里先要定义一个Profile,然后再将Profile作为参数调用connect进行连接尝试,使用status函数取连接结果的返回值,如果是const.IFACE_CONNECTED则连接成功,显示结果,如果是其他则为失败。

主要代码如上,运行效果如下:

问题

这里有一个问题,就是pywifi模块的windows版本的代码里并没有实现获取wifi热点的加密状态信息,比如是使用WPA、WPA2、WPA2PSK还是WPAPSK方式加密认证的,因此我就默认将所有的wifi热点看作是开启了加密认证的,并在破解的时候视为“profile.akm.append(const.AKM_TYPE_WPA2PSK)”进行破解尝试。

开始学注意几点:

1.代码规范,这本身就是一个非常好的习惯,如果开始不养好好的代码规划,以后会很痛苦

2.多动手,少看书,很多人学Python就一味的看书,这不是学数学物理,你看例题可能就会了,学习Python主要是学习编程思想。

3.勤练习,学完新的知识点,一定要记得如何去应用,不然学完就会忘,学我们这行主要都是实际操作。

4.学习要有效率,如果自己都觉得效率非常低,那就停不停,找一下原因,去问问过来人这是为什么

我有一个微信公众号,经常会分享一些python技术相关的干货;如果你喜欢我的分享,可以用微信搜索“python语言学习”关注

原文地址:http://blog.51cto.com/13726370/2118014

时间: 2024-10-05 07:23:49

python黑科技:还在为没有wifi而烦心吗?这篇文章解决你的困扰的相关文章

Python黑科技程序,还你一块纯洁无暇的移动硬盘

前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 目 标 场 景 用过 Mac OS 的朋友应该都遇到过,日常的文件操作会在同级目录下产生一些特定的临时文件. 平常将文件夹打包成压缩包或拷贝文件夹到移动

Python黑科技:50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识

嗨,我最亲爱的伙计们,很高兴我们又见面了. 首先先感谢朋友们的关注.当然我更希望认识与计算机相关的领域的朋友咱们一起探讨交流.重点说一下,我是真人,不是那些扒文章的自媒体组织,大家可以相互交流的! 本篇文章我们来讲一下关于AI相关的人脸追踪,人脸识别相关的一些知识.当然本篇教程为(上)部分,讲一下利用python+opencv来实现人脸识别与追踪,明后天出(下)部分,用python来通过指纹对比实现人脸验证.人脸解锁(大家感兴趣的可以提前关注哦). 这两节课呢,代码量都不是很多,鄙人尽量多注释点

Python黑科技:在家远程遥控公司电脑,python+微信一键连接!

有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. *注意:全文代码可左右滑动查看 准备工作 本程序主要是实现远程管理 Windows10操作系统的开机和关机: 在 Windows机器的相同内网中放一个 Linux 主机,我这里用树莓派代替,如果你是用 OpenWrt 之类的路由器也可以. Linux 主机需要能够远程访问,我这里是有 FRP 将树莓派的端口映射到我的公网 Linux 主机上.所以可以随时远程 SS

Python黑科技,教你学会Django系统错误监控

来源:http://www.jianshu.com/p/42e4287ffeda 话不多说,直入正题. 先上图,看一下监控的效果. 如下是监控我们网站系统错误的邮件.包含了请求的url地址,以及详细的异常信息. 一.监控所有的request请求 如何实现系统监控,自动发送错误日志的邮件呢?只需配置配置settings文件即可. 1.设置发送邮件配置信息 邮件会发送到ADMINS设定的邮件列表中. SERVER_EMAIL ='[email protected]' DEFAULT_FROM_EMA

爬虫实战【1】使用python爬取博客园的某一篇文章

第一次实战,我们以博客园为例. Cnblog是典型的静态网页,通过查看博文的源代码,可以看出很少js代码,连css代码也比较简单,很适合爬虫初学者来练习. 博客园的栗子,我们的目标是获取某个博主的所有博文,今天先将第一步. 第一步:已知某一篇文章的url,如何获取正文? 举个栗子,我们参考'农民伯伯'的博客文章吧,哈哈.他是我关注的一个博主. http://www.cnblogs.com/over140/p/4440137.html 这是他的一篇名为"[读书笔记]长尾理论"的文章. 我

Python 黑帽子:黑客与渗透测试编程之道——互动出版网

这篇是计算机类的优质预售推荐>>>><Python 黑帽子:黑客与渗透测试编程之道> 安全畅销书<Python灰帽子>同作者姊妹篇 知道创宇余弦.腾讯胡珀及Keen.蓝莲花等知名黑客战队联合作序盛赞 编辑推荐 本书适合有一定编程基础的安全爱好者.计算机从业人员阅读,特别是对正在学习计算机安全专业,立志从事计算机安全行业,成为渗透测试人员的人来说,这本书更是不可多得的参考. 内容简介 <Python 黑帽子:黑客与渗透测试编程之道>是畅销书<

【转载】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

[导读]TensorFlow 在 2015 年年底一出现就受到了极大的关注,经过一年多的发展,已经成为了在机器学习.深度学习项目中最受欢迎的框架之一.自发布以来,TensorFlow 不断在完善并增加新功能,直到在这次大会上发布了稳定版本的 TensorFlow V1.0.这次是谷歌第一次举办的TensorFlow开发者和爱好者大会,我们从主题演讲.有趣应用.技术生态.移动端和嵌入式应用多方面总结这次大会上的Submit,希望能对TensorFlow开发者有所帮助. TensorFlow:面向大

最具颠覆力的十大黑科技,你最期待哪一个?

科技技术水平的提高,有些先进技术对于未来各行业的发展提供了积极的一面,但是也不免会出现一些具有颠覆力的黑科技.那么,对于最具颠覆力的黑科技,你了解多少呢?下面十大排行网(Top10.ph)就来盘点下最具颠覆力的十大黑科技. 10.SCiO:从分子层面认识物质 SCiO是以色列一家名为ConsumerPhysics的初创公司生产的便携近红外光谱分析仪,体积和大拇指差不多,只轻轻一扫,它就能够告诉你身边常见物品的化学成分,并将扫描和计算结果直接发送到你的手机.如:检测食物的营养信息;检测食用油的质量

qt的应用层主要是大型3d,vr,管理软件和器械嵌入软件(有上千个下一代软件黑科技项目是qt的,美国宇航局,欧洲宇航局,超级战舰DDG1000)

作者:Nebula.Trek链接:https://www.zhihu.com/question/24316868/answer/118944490来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. qt的应用层主要是大型3d,vr,管理软件和器械嵌入软件.日常生活中所用的qt产品比较少.也就virtual box,google earth,VLC player等.但是大型系统就正好相反,这是c++决定的,而非qt. 除了Maya之外,包括Houdini,斯特拉电车的系