使用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 06 Python
Python 递归函数详解及实例
Dec 27 Python
Python生成随机数组的方法小结
Apr 15 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
Django csrf 验证问题的实现
Oct 09 Python
用Cython加速Python到“起飞”(推荐)
Aug 01 Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 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数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
JavaScript更改class和id的方法
2008/10/10 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
vue实现提示保存后退出的方法
2018/03/15 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
python写一个md5解密器示例
2018/02/23 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
python判断元素是否存在的实例方法
2020/09/24 Python
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
大学生村官事迹材料
2014/01/21 职场文书
协议书范本
2014/04/23 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
党小组评议意见
2015/06/02 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
反邪教观后感
2015/06/11 职场文书
行为习惯主题班会
2015/08/14 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python