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

 更新时间:2020年03月04日 10:49:28   作者:Python进阶者  
这篇文章主要介绍了使用Pyhton 分析酒店针孔摄像头,本文通过截图的形式给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下

/1 前言/

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

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

/2 原理介绍/

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

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

/3 操作步骤/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

从上图可以看到检测的设备有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+Seaborn绘制分布图的示例详解

    Python+Seaborn绘制分布图的示例详解

    这篇文章我们将介绍10个示例,从而帮助大家掌握如何使用Python中的Seaborn库来创建图表。文中示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • Python技法-序列拆分详解

    Python技法-序列拆分详解

    Python中的任何序列(可迭代的对象)都可以通过赋值操作进行拆分,包括但不限于元组、列表、字符串、文件、迭代器、生成器等。
    2021-10-10
  • python字符串下标与切片及使用方法

    python字符串下标与切片及使用方法

    这篇文章主要介绍了python字符串下标与切片及使用方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • PyTorch中的Subset类简介与应用示例代码

    PyTorch中的Subset类简介与应用示例代码

    在深度学习框架PyTorch中,torch.utils.data.Subset是一个非常有用的类,用于从一个较大的数据集中选择一个子集,本文将介绍Subset的概念、基本用法以及一些实际应用示例,感兴趣的朋友一起看看吧
    2024-08-08
  • PyTorch 普通卷积和空洞卷积实例

    PyTorch 普通卷积和空洞卷积实例

    今天小编就为大家分享一篇PyTorch 普通卷积和空洞卷积实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 详解python中的index函数用法

    详解python中的index函数用法

    这篇文章主要介绍了详解python中的index函数用法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python 写入训练日志文件并控制台输出解析

    Python 写入训练日志文件并控制台输出解析

    这篇文章主要介绍了Python 写入训练日志文件并控制台输出解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 基于Python的接口自动化读写excel文件的方法

    基于Python的接口自动化读写excel文件的方法

    这篇文章主要介绍了基于Python的接口自动化读写excel文件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PyQt实现异步数据库请求的实战记录

    PyQt实现异步数据库请求的实战记录

    开发软件的时候不可避免要和数据库发生交互,但是有些 SQL 请求非常耗时,如果在主线程中发送请求,可能会造成界面卡顿,本文将介绍一种让数据库请求变得和前端的 ajax 请求一样简单,希望对大家有所帮助
    2023-12-12
  • python 实现波浪滤镜特效

    python 实现波浪滤镜特效

    这篇文章主要介绍了python 实现波浪滤镜特效的方法,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-12-12

最新评论