网络入侵探测器Pi.Alert
什么是 Pi.Alert ?
Pi.Alert
是WIFI/LAN
入侵探测器。通过扫描连接到您的
WIFI/LAN
的设备,提醒您未知设备的连接。它还警告断开“始终连接”的设备。
Pi.Alert
使用了三种扫描方式
- 方式1:arp-scan。
arp
扫描系统实用程序用于使用arp
帧搜索网络上的设备。 - 方式2:Pi-hole。:此方法是可选的,是对方法 1 的补充。如果
Pi-hole DNS
服务器处于活动状态,则Pi.Alert
会检查其活动,查找方式1未检测到的使用DNS
的活动设备。 - 方式3:dnsmasq。:此方法是可选的,是对以前方法的补充。如果
DHCP
服务器dnsmasq
处于活动状态,Pi.Alert
会检查DHCP
租约(分配的地址),以查找其他方法未发现的活动设备。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 pi.alert
,选择第一个 jokobsk/pi.alert
,版本选择 latest
。
细分的版本号是
23.5.7
,但实际上23.5.7
、23.5
、23
、latest
是同一个版本;
卷
在 docker
文件夹中,创建一个新文件夹 pialert
,并在其中建两个子文件夹,分别是 config
和 db
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/pialert/config | /home/pi/pialert/config | 存放设置 |
docker/pialert/db | /home/pi/pialert/db | 存放数据库 |
网络
勾选 使用与 Docker Host 相同的网络
环境
可变 | 值 |
---|---|
TZ | 时区设置,默认值 Europe/London |
PORT | 应用的访问端口,默认值 20211 |
HOST_USER_ID | 用户ID,默认值 1000 |
HOST_USER_GID | 用户组ID,默认值 1000 |
一般只要修改 TZ
为 Asia/Shanghai
就可以了
权限
要避免出现权限问题,可以勾选 使用高权限执行容器
老苏没有勾选,似乎也能正常工作;
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 pialert 和 子目录
mkdir -p /volume2/docker/pialert/{config,db}# 进入 pialert 目录
cd /volume2/docker/pialert# 运行容器
docker run -d \--restart unless-stopped \--name pialert \--network=host \-v $(pwd)/config:/home/pi/pialert/config \-v $(pwd)/db:/home/pi/pialert/db \-e TZ=Asia/Shanghai \-e PORT=20211 \-e HOST_USER_ID=1000 \-e HOST_USER_GID=1000 \jokobsk/pi.alert:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'services:pialert:image: jokobsk/pi.alert:latestcontainer_name: pialertnetwork_mode: hostrestart: unless-stoppedvolumes:- ./config:/home/pi/pialert/config- ./db:/home/pi/pialert/dbenvironment: - TZ=Asia/Shanghai - PORT=20211- HOST_USER_ID=1000- HOST_USER_GID=1000
然后执行下面的命令
# 新建文件夹 pialert 和 子目录
mkdir -p /volume2/docker/pialert/{config,db}# 进入 pialert 目录
cd /volume2/docker/pialert# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:20211
就能看到主界面
只有两个设备显然是不正确的,我们可以选择手动编辑 config
目录下的 pialert.conf
文件
修改前,记得备份文件,当然,万一改出问题了也不用太担心,大不了重来呗
但是更简单的方式是在 settings
中进行修改
在
settings
中修改,会自动生成备份文件;
显然,系统默认启用了方式1扫描,也就是启用了 Enable ARP scan
,但是 SCAN_SUBNETS
显然不正确
老苏的 IP
应该是 192.168.0.0/24
而不是 192.168.1.0/24
,至于网络接口是 eth0
,eth1
,也是一头雾水,这需要通过 iwconfig
在容器内查询
# 进入容器
docker exec -it --user root pialert /bin/bash# (国内用户)改阿里源
sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list# 安装 wireless-tools 包
apt-get update && apt-get install -y wireless-tools# 查找接口名称
iwconfig
看起来应该是 eth0
了
前面输入 192.168.0.0/24
,后面输入 eth0
,然后点 Add
按钮,下拉到底部点 Save
按钮
会提示生成了备份文件
然后点 Enable ARP scan
后面的 ▶️ 按钮开始扫描
回到 Devices
,局域网的设备就都显示出来了
更多的功能就留给大家自己探索了
参考文档
pucherot/Pi.Alert: WIFI / LAN intruder detector. Check the devices connected and alert you with unknown devices. It also warns of the disconnection of “always connected” devices
地址:https://github.com/pucherot/Pi.Alert
jokob-sk/Pi.Alert: 💻🔍 WIFI / LAN intruder detector. Scans for devices connected to your network and alerts you if new and unknown devices are found.
地址:https://github.com/jokob-sk/Pi.Alert
jokobsk/pi.alert - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/jokobsk/pi.alert
Pi.Alert/README.md at main · jokob-sk/Pi.Alert · GitHub
地址:https://github.com/jokob-sk/Pi.Alert/blob/main/dockerfiles/README.md
相关文章:

网络入侵探测器Pi.Alert
什么是 Pi.Alert ? Pi.Alert 是 WIFI/LAN 入侵探测器。通过扫描连接到您的 WIFI/LAN 的设备,提醒您未知设备的连接。它还警告断开“始终连接”的设备。 Pi.Alert 使用了三种扫描方式 方式1:arp-scan。arp扫描系统实用程序用于使用 arp 帧搜索…...

Flask项目打包为exe(附带项目资源,静态文件)
1.在项目根目录创建my_app.spec文件,内容如下: # -*- mode: python ; coding: utf-8 -*-block_cipher Nonea Analysis([server.py], # flask入口pathex[],binaries[], datas[("E:/**/templates","/templates"),("E:/**/s…...

无代码开发(BIP旗舰版-YonBuilder)
目录 我的应用 新建领域 菜单管理 应用构建 新建应用 对象建模 新增业务对象 新增业务实体 页面建模 新增页面 编辑页面 发布管理 我的应用 角色管理 yonbuilder开发平台,提供标准服务和专业开发服务; 本篇文章只演示标准服务的可视化应用…...

誉天程序员-瀑布模型-敏捷开发模型-DevOps模型比较
文章目录 2. 项目开发-开发方式2.1. 瀑布开发模型2.2. 敏捷开发模型2.3. DevOps开发模型2.4. 区别 自增主键策略1、数据库支持主键自增自增和uuid方案优缺点 2. 项目开发-开发方式 由传统的瀑布开发模型、敏捷开发模型,一跃升级到DevOps开发运维一体化开发模型。 …...

flutter:占位视图(骨架屏、shimmer)
前言 有时候打开美团,在刚加载数据时会显示一个占位视图,如下: 那么这个是如何实现的呢?我们可以使用shimmer来开发该功能 实现 官方文档 https://pub-web.flutter-io.cn/packages/shimmer 安装 flutter pub add shimmer示例…...

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 4
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...

python-网络爬虫.BS4
BS4 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库, 它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方 式。 Beautiful Soup 4 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 帮助手册&…...

C# 开发规范
控件命名规则 控件名简写 控件名简写LabellblTextBoxtxtButtonbtnLinkButtonlnkbtnImageButtonimgbtnDropDownListddlListBoxlstDataGriddgDataListdlCheckBoxchkCheckBoxListchklsRadioButtonrdoRadioButtonListrdoltImageimgPanelpnlCalendecldAdRotatorarTabletblRequiredF…...

【uniapp 样式】使用setStorageSync存储历史搜索记录
<template><view><view class"zhuangbox u-flex"><u--inputplaceholder"请输入关键字搜索"border"surround"shapecircleprefixIcon"search"prefixIconStyle"font-size: 22px;color: #909399"v-model&q…...

git remote add origin详解
git remote add origin详解_笔记大全_设计学院 一、git remote add origin的基础 使用“git remote add origin”指令,可以轻松地将本地项目连接到远程Git仓库 二、git remote add origin的用法 “git remote add origin”指令可以使用以下语法: git…...

附录1-将uni-app运行到微信开发者工具
目录 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 3 微信开发者工具的安全设置 4 运行 5 修改一些配置项 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 如果你忘了安装在哪里了,可以右键快捷方式看一下属性 在运行设置…...

【LeetCode】根据二叉树创建字符串
根据二叉树创建字符串 题目描述算法分析编程代码 链接: 根据二叉树创建字符串 题目描述 算法分析 当单纯的按照前序遍历输出后,我们只要对()进行一些修改就好 编程代码 /*** Definition for a binary tree node.* struct TreeNode {* …...

【图论】强连通分量
一.定义 强连通分量(Strongly Connected Components,简称SCC)是图论中的一个概念,用于描述有向图中的一组顶点,其中任意两个顶点之间都存在一条有向路径。换句话说,对于图中的任意两个顶点u和v,…...

网络:VRP介绍
1. VRP 华为使用的通用路由平台,华为的交换机、防火墙、安全设备、无线和路由器的命令行几乎一样。 2. VRP分为用户视图、系统视图。 3. 用户视图 user view <Huawei>:其中<>代表的是用户视图,Huawei是设备的名称。命令比较少。…...

iOS - 解压ipa包中的Assert.car文件
项目在 Archive 打包后,生成ipa包 将 xxx.ipa文件修改为zip后缀即 xxx.zip ,然后再双击解压,会生成一个 Payload 文件夹,里面一个文件 如下图: 然后显示改文件的包内容: 解压 Assets.car 文件的方式&…...

【Jmeter】配置不同业务请求比例,应对综合场景压测
目录 前言 Jmeter5.0新特性 核心改进 其他变化 资料获取方法 前言 Jmeter 5.0这次的核心改进是在许多地方改进了对 Rest 的支持,此外还有调试功能、录制功能的增强、报告的改进等。 我也是因为迁移到了Mac,准备在Mac上安装Jmeter的时候发现它已经…...

TCP拥塞控制详解 | 1. 概述
网络传输问题本质上是对网络资源的共享和复用问题,因此拥塞控制是网络工程领域的核心问题之一,并且随着互联网和数据中心流量的爆炸式增长,相关算法和机制出现了很多创新,本系列是免费电子书《TCP Congestion Control: A Systems …...

使用IPSEC VPN 在有防火墙的场景和有NAT转换的场景下实现隧道通信实验
目录 一、在有防火墙的场景 1、为所有设备配置对应ip地址: 2、进入两个防火墙实现公网互通 3、测试公网是否互通 4、进入SW1配置IPSEC VPN 5、进入SW2配置IPSEC VPN 6、配置策略方向ESP的流量 7、尝试使用PC1访问PC2 二、在有NAT地址转换的场景 1、为新增加…...

Go和Java实现适配器模式
Go和Java实现适配器模式 我们通过下面的实例来演示适配器模式的使用,其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级 的音频播放器来播放 vlc 和 mp4 文件。 1、适配器模式 适配器模式是作为两个不兼容的接口之间的桥梁。这种…...

接口相似数据结构复用率高?Apipost这招搞定!
在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。 为了解决这个问题&a…...

【零基础学Rust | 基础系列 | Hello, Rust】编写并运行第一个Rust程序
文章目录 前言一,创建项目二,两种编译方式1. 使用rustc编译器编译2. 使用Cargo编译 总结 前言 在开始学习任何一门新的编程语言时,都会从编写一个简单的 “Hello, World!” 程序开始。在这一章节中,将会介绍如何在Rust中编写并运…...

代理模式.
前言: 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 静态代理 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 , 一…...

BS框架说明
B/S架构 1.B/S框架,意思是前端(Browser 浏览器,小程序、app、自己写的)和服务器端(Server)组成的系统的框架结构 2.B/S框架,也可理解为web架构,包含前端、后端、数据库三大组成部分…...

iOS——Block签名
首先来看block结构体对象Block_layout(等同于clang编译出来的__Block_byref_a_0) #define BLOCK_DESCRIPTOR_1 1 struct Block_descriptor_1 {uintptr_t reserved;uintptr_t size; };#define BLOCK_DESCRIPTOR_2 1 struct Block_descriptor_2 {// requi…...

Flutter 图片选取及裁剪
在开发项目里修改用户头像的功能,涉及到图片选取及裁剪,基本实现步骤如下: 1、pubspec.yaml 添加 image_picker: ^1.0.1 image_cropper: ^4.0.1: dependencies:image_picker: ^1.0.1image_cropper: ^4.0.1flutter:sdk: flutter…...

C语言每日一题:11.《数据结构》链表分割。
题目一: 题目链接: 思路一:使用带头链表 1.构建两个新的带头链表,头节点不存储数据。 2.循环遍历原来的链表。 3.小于x的尾插到第一个链表。 4.大于等于x尾插到第二个链表。 5.进行链表合并,注意第二个链表的尾的下一…...

记一次Oracle归档日志异常增长问题的排查过程
Oracle归档日志是Oracle数据库的重要功能,用于将数据库的重做日志文件(Redo Log)保存到归档日志文件(Archive Log)中。归档日志的作用是提供数据库的备份和恢复功能,以及支持数据库的持续性和数据完整性。 …...

Java设计模式——类之间的关系
1.继承关系(泛化) 类与子类的关系,指一个类继承另外的一个类。 2.实现关系 一个类可以实现多个接口,实现所有接口的功能。 3.依赖关系 类B作为类A方法中的局部变量或者参数出现,表示A依赖B。 4.关联关系 类B作为类A中的成员变量出现&#…...

Dockerfile构建Redis镜像
建立工作目录 [rootlocalhost ~]# mkdir redis [rootlocalhost ~]# cd redis/ 编写Dockerfile文件 [rootlocalhost redis]# vim Dockerfile FROM centos:7 MAINTAINER dddd <dddd163.com> RUN yum -y install epel-release && yum -y install redis RUN sed -i …...

C高级DAY2
1.思维导图 2. 递归实现,输入一个数,输出这个数的每一位 递归实现,输入一个数,输出这个数的二进制c 写一个脚本,包含以下内容: 显示/etc/group文件中第五行的内容创建目录/home/ubuntu/copy切换工作路径到…...