当前位置: 首页 > 后端技术 > Python

为了在工作中抓鱼,我用Python监视我的老板!

时间:2023-03-26 00:27:29 Python

作为兼职,尤其是996和007的工作,除了做饭,最刺激的莫过于工作时偶尔偷偷摸摸池塘里的鱼。普通人摸什么鱼?聊天、微博、微信朋友圈、小游戏、小说、股票基金等,钓鱼最大的障碍是什么?当然是工头(老板),恨不得24小时打工人干活。但是人的精力是有限的,每天只能专心工作几个小时,剩下的时间就需要靠钓鱼来调整了。所以,只要我们钓鱼不被契约者发现,就是一件很惬意的事情。为此,我用Python写了一个小工具——BOSS来监视boss,减少被钓鱼发现的概率。思路我们知道每个终端比如电脑或者手机都有一个固定的Mac地址,而我们公司办公区有好几个AP,每个人的手机都连接到最近的AP,所以理论上如果我知道老板的手机Mac地址,然后扫描局域网内所有的Mac地址,如果出现老板手机的Mac地址,那么老板很可能就在我附近,这时候钓鱼比较危险;如果老大的Mac地址没有出现,那么老大可能离我很远,这时候摸鱼比较安全。基于以上思路,我要做的就是获取老板手机的Mac地址,然后不断轮询局域网内所有的Mac地址。一旦出现老板手机的Mac地址,我就老老实实干活。一旦老板的Mac地址消失了,就可以钓鱼了。如何获取老板手机的Mac地址?很多人听到这里可能会觉得没戏!总不能偷了老板的手机,然后去设置里找吧。没有无双的路,只要肯动脑筋,路有很多种!我的方法是这样的。其他同事不走动的时候,老板来了,把局域网的Mac地址信息保存一次,老板走的时候再保存一遍,然后比对找出老板手机的Mac地址。为保证准确性,可以多试几次。获取所有Mac地址第一步是使用ipconfig/all命令查找当前网段;第二步,使用轮询命令将网段内的IP一一ping通。这一步是建立ARP表。命令如下:for/L%iIN(1,1,254)DOping-w1-n1192.168.1.%i其中192.168.1.%i为要查询的网段。第三步,使用arp命令查询所有Mac地址。命令为:arp-a运行后会看到类似下面的结果:mac地址列表的思路代码实现已经通过验证,准备工作也已经做好,接下来就是代码实现了。首先,根据上面的思路,我们先写一个获取局域网内所有Mac地址的方法。defget_macs():#运行cmd控制窗口,输入"arp-a",将内容传给resres=os.popen("arp-a")#读取res数据,转换为可读数据arps=res.read()print(arps)#将得到的counts中的数据按照“换行符”拆分成切片result=arps.split('\n')#设置一个空列表来加载ipips=[]#setAnemptylistformacmacs=[]#遍历foriinrange(1,len(result)):#获取列表中第idx个数据line=result[i]if('Internet'inline)|(''==行)|('interface'inline):continue#根据""line_split=line.split("")index=0forlinline_split:ifl!='':index+=1ifindex==1:ips.append(l)elifindex==2:macs.append(l)returnips,macs然后写定时轮询。#老板的Mac地址bossMac="01-00-5e-0b-14-01"sleep_time=5while1==1:time.sleep(sleep_time)ips,macs=get_macs()is_come=0formacinmacs:ifmac==bossMac:is_come=2#如果boss来了,每5分钟扫描一次sleep_time=300#提示报警choice=g.msgbox(msg="有鬼,停止交易!",title="OMG")breakifis_come==0:#如果boss不在,每5秒扫描一次sleep_time=5g.msgbox(msg="Everythingisnormal!",title="OMG")我这里的设置是:如果boss如果出现,它会每5分钟轮询一次,因为如果老板在,你就得专心工作,不能想着钓鱼太频繁。如果老板不在,每5秒轮询一次。垂钓时常有警示为佳!运行程序,老板来了,警告弹窗是这样的:老板消失了,弹窗内容是这样的:总结当然,如果老板没有打开wifi,那么这个方法将无效。或者老板过来了,但是手机反应慢,这里又没有切换到AP,同样会有危险。所以不要完全依赖这个小玩意儿,钓鱼的时候也要偶尔观察一下周围的环境。源码:https://github.com/JustDoPyth...文末你们的点赞和收藏,是对我最大的鼓励!欢迎关注我,分享Python干货,交流Python技术。如果大家对文章有什么见解,或者有什么技术问题,欢迎在评论区留言讨论!