使用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 相关文章推荐
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
python 中字典嵌套列表的方法
Jul 03 Python
在Python中COM口的调用方法
Jul 03 Python
python scrapy爬虫代码及填坑
Aug 12 Python
Django 自动生成api接口文档教程
Nov 19 Python
Python的pygame安装教程详解
Feb 10 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
Flask response响应的具体使用
Jul 15 Python
Python实现双向链表
May 25 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实现通过ftp上传文件
2015/06/19 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Python小白垃圾回收机制入门
2020/06/09 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
怎样写好自我鉴定
2013/12/04 职场文书
大学生村官工作感言
2014/01/10 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
运动会演讲稿
2014/05/07 职场文书
淘宝店策划方案
2014/06/07 职场文书
安全保证书
2015/01/16 职场文书
会计工作能力自我评价
2015/03/05 职场文书
董事长秘书工作总结
2015/08/14 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
Java 超详细讲解hashCode方法
2022/04/07 Java/Android