使用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单线程实现多个定时器示例
Mar 30 Python
python实现批量修改文件名代码
Sep 10 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
python os模块简单应用示例
May 23 Python
Python如何实现动态数组
Nov 02 Python
pytorch中图像的数据格式实例
Feb 11 Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python3字符串输出常见面试题总结
Dec 01 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
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
初识php MVC
2014/09/10 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
VueRouter导航守卫用法详解
2017/12/25 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Python中functools模块的常用函数解析
2016/06/30 Python
详解Python多线程
2016/11/14 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
美容师的职业规划书
2013/12/27 职场文书
企业总经理岗位职责
2014/02/13 职场文书
党员个人剖析材料
2014/09/30 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers