使用Pyhton 分析酒店针孔摄像头


Posted in Python onMarch 04, 2020

/1 前言/

最近酒店被曝出隐藏摄像头的事情屡见不鲜,搞得大家人心惶惶,有图为证,如下图所示。

使用Pyhton 分析酒店针孔摄像头

今天教大家一下如何用python分析出酒店里的针孔摄像头,让你放心住酒店。

/2 原理介绍/

我们大家都知道,针孔摄像一般都很小,所以它不太可能含有存储设备,都是通过连接酒店房间内的无线网,远程传输给作案人,我们就从这方面入手,用Python的scapy模块扫描局域网内的所有设备,并通过爬虫找到该设备生产厂商,以厂商来判断该设备是否为摄像头。

所需环境:ubuntu、pyhton3.5、pycharm

/3 操作步骤/

实现步骤依赖环境较多,操作起来可能有些复杂,不过就当了解一下也是欧克的,具体的操作步骤如下。

1、用scapy模块的scapy函数模拟构造ARP广播包,代码如下图所示。

使用Pyhton 分析酒店针孔摄像头

这个表示要向网段内的所有主机都询问一下,说的通俗一点就是“请问网段内都有谁在啊”。

2、模拟在局域网内发送。用scapy模块模拟发送ARP广播,代码如下图所示。

使用Pyhton 分析酒店针孔摄像头

其中p是第一步构造的广播包,wifi是本机的网卡名称,timeout是发送时限。

3、返回的两个参数,ans包含两类数据包(ARP请求包和ARP返回信息),请求包是第一步构造的包,返回包是局域网内主机的回应,如下图所示。

使用Pyhton 分析酒店针孔摄像头

包含该主机的ip地址和MAC地址,打码的就是MAC地址;unans返回True或者False,代表是否发送成功。

4、解析返回的数据包。这一步主要是为了从上一步的数据包中把主机MAC地址取出来,虽然看起来很复杂,但实现起来比较简单,代码实现如下图所示。

使用Pyhton 分析酒店针孔摄像头

其中s和r分别是上步所说的请求包和返回包;r[ARP].hwsrc即是返回包中主机的MAC地址。

5、查询MAC地址厂商。由于上网设备MAC地址的唯一性,所以每家厂商的前6位MAC地址都是固定的,这样一来,我们就可以根据MAC地址反查出厂商,在网上找了一家便民查询网的网站,网址为https://mac.51240.com/,如下图所示。

使用Pyhton 分析酒店针孔摄像头

6、只需输入MAC地址就会出现次MAC地址的详细信息,如下图所示。

使用Pyhton 分析酒店针孔摄像头

7、我们需要的是它的组织名称,分析一下此网站,是个最简单的静态网页,如下图所示。

使用Pyhton 分析酒店针孔摄像头

8、也不用解析网页了,直接正则匹配,代码如下图所示。

使用Pyhton 分析酒店针孔摄像头

9、运行程序,得到如下图所示的结果。

使用Pyhton 分析酒店针孔摄像头

从上图可以看到检测的设备有4台主机,1台TP-LINK路由器,1个REALTEK外置网卡,2台华为手机,这种情况应该是正常的。如果是出现摄像头生产厂商类的MAC地址,就要小心了,马上去可疑地方找找吧!

/4 总结/

本文主要介绍了使用Python代码检测酒店里的针孔摄像头,实现原理是用scapy模块模拟发送ARP广播,获取设备的Mac地址,借助第三方平台查询设备的具体信息,检测周边环境是否正常。

本文涉及的Pyhton代码,我已经上传到Github了,感兴趣的小伙伴们,可以去看看,觉得不错,记得给个Star噢!代码链接:https://github.com/cassieeric/python_crawler/tree/master/hotel_monitor

到此这篇关于使用Pyhton 分析酒店针孔摄像头的文章就介绍到这了,更多相关python 酒店针孔摄像头内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python读写二进制文件的方法
May 09 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
Python实现DDos攻击实例详解
Feb 02 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
python数组循环处理方法
Aug 26 Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
python实例化对象的具体方法
Jun 17 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
pycharm新建Vue项目的方法步骤(图文)
Mar 04 #Python
使用Python发现隐藏的wifi
Mar 04 #Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 #Python
python实现井字棋小游戏
Mar 04 #Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 #Python
Python tkinter 下拉日历控件代码
Mar 04 #Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 #Python
You might like
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
js实现密码强度检验
2017/01/15 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
vue router 组件的高级应用实例代码
2019/04/08 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
python实用代码片段收集贴
2015/06/03 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
对python sklearn one-hot编码详解
2018/07/10 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
你常见到的runtime exception
2016/09/05 面试题
自荐信封面
2013/12/04 职场文书
给校长的建议书500字
2014/05/15 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
大学生入党群众意见书
2015/06/02 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL