使用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 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
Python中装饰器学习总结
Feb 10 Python
Python绘制的二项分布概率图示例
Aug 22 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
python 创建一维的0向量实例
Dec 02 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
python绘制箱型图
Apr 27 Python
python使用shell脚本创建kafka连接器
Apr 29 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
js实现五星评价功能
2017/03/08 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
python数据结构之线性表的顺序存储结构
2018/09/28 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
六道php面试题附答案
2014/06/05 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
新闻稿件写作技巧
2015/07/18 职场文书