用树莓派自制反跟踪装置

马特·埃德蒙森(Matt Edmondson)是一名数字取证专家,也是国土安全部的联邦特工。

在一位朋友担心被跟踪后,他制作了一个基于Raspberry Pi的反跟踪工具。

马特·埃德蒙森的家伙什儿

它是由什么构成的?

整个设备都装在鞋盒大小的防水箱内。基础由树莓派3构成。

外接无线网卡和无线信号探测器,可查找附近的设备。

充电宝为一切提供动力,触摸屏显示设备发送的每个警报。

以便用户可以直观地看到哪些设备不断弹出以及多久弹出一次。

它是如何工作的?

该设备运行Kismet软件来检测附近正在寻找Wi-Fi或尝试连接到蓝牙设备的智能手机和平板电脑。Kismet 是一个网络检测器、数据包嗅探器和入侵检测系统,它可与任何支持原始监视模式的无线网卡一起运行。

我们都知道我们的手机会记录应用程序使用情况和位置。

但你可能不知道,你的手机也在不断寻找周围的无线网络。当它找到一个以前连接过的网络时,它会特别兴奋。

“特别兴奋”是指“做一些不同的事情,以一种特殊的方式通知Kismet”。

如果Kismet发现它在过去二十分钟内看过这个设备,它会发出一条警告,让用户知道他们可能被跟踪。

Matt用Python编写了一些代码,以便保留反跟踪工具接触过的设备列表,检查日志并查看上次遇到每个设备的时间。

这种自制的反跟踪设备专为人们在移动中设计。

如果你在一个地方坐了很长时间,而有些人总在你周围闲逛(比如电影院或餐馆),那你每二十分钟就会被提醒一次,让你知道周围可能有人跟踪你。

你可以在2022年8月的黑帽美国安全会议上看到Matt在此设备上的演示文稿,或者前往GitHub查看他针对此反跟踪构建的代码

如何使用Python自带编辑器IDLE

IDLE的调试方法:
1.设置断点:在Python编辑器中要调试的代码行右击->Set Breakpoint,之后该行底色就变黄了
2.打开debugger:Python Shell->Debug->Debugger
3.编辑窗口按F5
4.debug过程略
Go表示运行完相当于eclipse的F8,不过按F5后先要go一下才能往下走,默认是不运行的
Step表示一步一步相当于eclipse的F5
Over表示跳过函数方法相当于eclipse的F6
Out表示跳出本函数相当于eclipse的F7


IDLE编辑器快捷键

自动补全代码 Alt+/(查找编辑器内已经写过的代码来补全)
补全提示 Ctrl+Shift+space(默认与输入法冲突,修改之)
(方法:Options->configure IDLE…->Keys-> force-open-completions
提示的时候只要按空格就出来对于的,否则翻上下键不需要按其他键自动就补全了)
后退 Ctrl+Z
重做 Ctrl+Shift+Z
加缩进 Ctrl+]
减缩进 Ctrl+[
加注释 Alt+3
去注释 Alt+4

Python Shell快捷键
自动补全同上
上一条命令 Alt+P
下一条命令 Alt+N

树莓派摄像头学习必备 —— Picamera2 测试版发布

最近发布的 Raspberry Pi OS 映像,终于预装了Picamera2库的 beta 版本。它是旧 PiCamera 库的替代,也是未来树莓派摄像头的官方首选开发库。

从早期版本开始,PiCamera 就非常受用户欢迎,因为它提供了一种非常简单而开放的Raspberry Pi 摄像头调用方式,让大家远离了专有和闭源的摄像头API(比如Broadcom的)。

Picamera2 主要特点

1、支持命令行驱动,你可以将 Picamera2 的命令直接通过Python 解释器或 Python 脚本调用。
2、使用OpenGL加速硬件辅助渲染,或在X windows未运行时使用DRM/KMS进行高速渲染。
3、支持将现成的 Picamera2 组件嵌入到 Qt 应用程序中。
4、原生支持 numpy,使其与 OpenCV、TensorFlow 和其他 Python 库一起使用非常自然。
5、所有源代码都可以在Picamera2 GitHub 页面上获得,或者作为libcamera 项目的一部分。
6、支持所有官方树莓派相机,也支持一些第三方相机

还有一些功能,例如视频编码和录制(可自定义输出对象),同时录制音频和视频的能力。在摄像头图像上显示叠加层等等。

要了解更多信息,请查阅大量示例脚本应用程序,或查阅我们的Picamera2 用户手册

Picamera2 可以在 TensorFlow 的帮助下检测和圈出狗

安装和升级

Picamera2 仅在最近的 Bullseye (新的树莓派系统代号)上受支持。

Buster 或更早的版本不支持它,Raspberry Pi OS Legacy 也不支持。所有这些用户都只能继续使用旧的 PiCamera 库。

在最新的 Bullseye 系统上已经安装了 Picamera2。

需要命令行安装的话可以输入:

sudo apt install -y python3-picamera2

树莓派操作系统

Raspberry Pi OS 用户会发现新的系统中, Picamera2 已经完整安装,包括 Qt 和 OpenGL。

Raspberry Pi OS Lite 默认随 Picamera2 一起安装,但没有 Qt 和 OpenGL。原因是用 Raspberry Pi OS Lite 的低配Pi 运行基于 X Windows 的应用程序或通过 X Windows 显示堆栈进行渲染会比较卡。

如果需要在Raspberry Pi OS Lite上使用 Qt 和 OpenGL,可以这么安装。

sudo apt install -y python3-pyqt5 python3-opengl

如果你用的是未安装 Picamera2 的较早版本的 Bullseye,又不用 Qt 和 OpenGL 的话,安装它的命令:

sudo apt install -y python3-picamera2 –-no-install-recommends

之前通过 pip 安装过 Picamera2 的用户

一些用户可能以前使用pip,那需要先卸载再安装。当然,你可以继续用pip的方式。

如何尝试 Picamera2?

有一些示例脚本很有帮助,你可以下载并运行它们:

git clone https://github.com/raspberrypi/picamera2.git

python picamera2/examples/preview.py

在 Python 解释器中输入 Picamera2 指令

提示

如果遇到任何困难,请注意以下几点:

  • Raspberry Pi 3 或更早版本设备的用户将需要重新启用 Glamour(如果他们以前没有这样做)才能使用任何 X Windows/OpenGL 预览功能。
  • libcamera 在控制台窗口中可以非常“健谈”。如果这让你感到困扰,请在运行 Python 之前键入:export LIBCAMERA_LOG_LEVELS=*:3(或将其放入.bashrc)。
  • Picamera2使用一种特定类型的 Linux 系统内存,称为 CMA 内存。系统资源不足的话会有问题。

如果有任何其他问题或疑问,可加入树莓派摄像头论坛讨论。