12行代码打造员工智能签到工具

本篇文章用python打造了一款非常实用的工具,仅仅用了12行代码,就可以实现员工智能签到功能,非常简单方面。。

现有的智能签到设备一般是靠人脸识别、指纹检测等人体特征实现,价格一般也不是很贵,随便在某宝截了1张图:

看起来价格确实很便宜,但是自己动手做的设备不是更香嘛,哈哈!下面带大家看看我是怎么实现的吧!

第一步:整体思路

现代人几乎手机不离手,我们可以通过用pyhton+外置网卡的方式抓取手机特征码(手机mac地址),以此判断员工是否上班(因为网卡的有效范围一般在2、30米)。

第二步:所需环境

ubuntu系统,python3,外置usb网卡(支持监听模式),scapy和pandas库(pip安装即可)

具体步骤:

第三步:准备工作

1.在ubuntu中安装python3(有的自带)和pycharm(网上有很多教程,这里不再赘述),pycharm的打开方式和windows系统有些区别,在python的bin文件夹内打开命令行输入:

必须用管理员权限打开,否则无权限运行程序

2.将员工的信息存入表格中,作为信息查询的依据

这里只列了2条信息作为参考,其中手机的mac可以在手机设置中查询到。

3. 打开网卡监听模式,开启扫描检测功能,这两步必须要做,而且你的网卡还要支持监听模式


输出结果:

被遮住的station就是手机的mac地址,只要扫描到的mac地址在表格中可以查到,就可以判断该mac对应的员工来上班了。

第四步:python代码实现

1.用pandas读取表格

取df[‘mac’]作为查询列表

2.用scapy抓取手机特征信息

这样就可以抓取手机mac地址了,看起来很简单是不是,但是里面含有的知识点可不少。

首先嗅探函数sniff通过网卡“wlanmon”接收终端或路由器发出的信号,然后通过packetHandler函数解析该信号,而p.haslayer(Dot11ProbeReq)代表只接手终端的请求连接信号(除此之外还有路由器的广播信号和应答信号)。

前几年的时候,手机只要打开wlan就会自动向外发出机身的真实mac地址,但是现在的手机厂商已经意识到该问题的严重性,开始散发经过算法模拟出来的虚假mac。只有探测到自己曾经连接过的wifi时

才会把包含真实mac地址的请求信息发送出去。据此,智能采集设备旁边还需要1个能上网的路由器,员工每次上班要先连接无线网,这样我们就可以把他的mac地址采集下来了,并把时间记录下来,代码实现过程如下:

程序会处于持续运行状态,输出结果为:

你学会了吗?

网络安全小知识提醒:手机wlan不用wifi的时候一定要关闭,否则有可能泄露个人信息哦!

ps:微信群已经开通,想加入的朋友可以加我微信,并回复进群,欢迎您的到来!

https://www.jianshu.com/p/f270ead1d672

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
JAVA
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论