NetAlertX:Docker轻量级网络扫描器部署实战

发布时间:2026/7/6 20:26:53

NetAlertX:Docker轻量级网络扫描器部署实战 NetAlertXDocker轻量级网络扫描器部署实战一、NetAlertX介绍1.1 NetAlertX 工具简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载NetAlertX镜像五、部署NetAlertX应用5.1 创建部署目录5.2 编辑部署文件5.4 创建NetAlertX容器5.5 查看NetAlertX容器状态5.6 检查NetAlertX容器日志六、访问NetAlertX服务6.1 访问主页6.2扫描设备七、总结一、NetAlertX介绍1.1 NetAlertX 工具简介NetAlertX是一款网络入侵者和存在检测工具它通过扫描连接到您网络的设备并在发现新的未知设备时发出警报来保护您的网络安全。1.2 主要特点全面的网络扫描监控新设备接入、重新连接、断开连接、“始终连接”设备状态变化、设备IP地址变更及互联网IP地址变化。多样的发现与扫描方法支持多种扫描方式如 arp-scan、Pi-hole 数据库/DHCP租约导入、通用DHCP租约导入、UNIFI控制器导入及SNMP路由器导入等。广泛的通知网关支持能够向超过80种服务发送通知包括通过Apprise集成的Telegram以及原生Pushsafer、Pushover或NTFY发布者。强大的集成与插件系统可以将数据和设备变更信息输入Home Assistant使用Webhooks设置自定义自动化流程并且用户可以利用插件系统快速构建自己的扫描器。灵活的工作流模块提供工作流模块以自动化重复任务增强网络管理效率比如自动分配新发现的设备到特定网络节点、根据供应商自动分组设备等。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为|Ubuntu 22.04.1。hostnameIP地址操作系统版本Docker版本项目名称jeven01192.168.3.88Ubuntu 22.04.1LTS 24.0.7NetAlertX网络扫描器2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署NetAlertX网络扫描器。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven01:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/lib/systemd/system/docker.service;enabled;vendor preset: enabled)Active: active(running)since Sun2025-04-20 07:26:39 UTC;1week1day ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:1063(dockerd)Tasks:80Memory:2.2G CPU: 5min46.692s CGroup: /system.slice/docker.service ├─1063/usr/bin/dockerd-Hfd://--containerd/run/containerd/containerd.sock3.2 检查Docker版本检查Docker版本rootjeven01:~# docker -vDocker version24.0.7, build24.0.7-0ubuntu2~22.04.13.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven01:~# docker compose versionDocker Compose version v2.19.1四、下载NetAlertX镜像执行以下命令拉取以下NetAlertX镜像。rootjeven01:~# docker pull jokobsk/netalertx:2525: Pulling from jokobsk/netalertx f18232174bc9: Already exists 3214a9cdd72f: Pull complete 8a318d0babe7: Pull complete fbe43fdcd7ff: Pull complete 09f197029662: Pull complete 6825ededaa86: Pull complete fe9fcb62365f: Pull complete Digest: sha256:e0b41d90a57b0237f81b8daa787935e68ae59ad62bb5cb7c371b420b7c78ca32 Status: Downloaded newer imageforjokobsk/netalertx:25 docker.io/jokobsk/netalertx:25五、部署NetAlertX应用5.1 创建部署目录创建部署目录mkdir-p/data/netalertxcd/data/netalertx5.2 编辑部署文件docker-cli部署方式可参考以下命令dockerrun-d--rm--networkhost\-vlocal_path/config:/app/config\-vlocal_path/db:/app/db\--mounttypetmpfs,target/app/api\-ePUID200-ePGID300\-eTZEurope/Berlin\-ePORT20211\ghcr.io/jokob-sk/netalertx:latest本次实践使用docker compose方式部署在部署目录下创建docker-compose.yaml文件其中宿主机映射端口等可以自定义配置。vimdocker-compose.yamlversion:3.9services:netalertx:image:jokobsk/netalertx:25container_name:netalertxnetwork_mode:hostenvironment:-PUID200-PGID300-TZAsia/Shanghai-PORT20211volumes:-/data/netalertx/config:/app/config-/data/netalertx/db:/app/db-type:tmpfstarget:/app/apirestart:always环境变量说明变量名描述示例值PORTWeb 界面的端口号20211PUID应用程序用户的 UID102PGID应用程序用户的 GID82LISTEN_ADDR设置 nginx Web 服务器监听的特定 IP 地址。可用于多子网环境下隐藏 Web 界面以保护不受信任的网络0.0.0.0TZ显示统计信息时使用的时区。在此查找您的时区Europe/BerlinLOADED_PLUGINS默认加载的插件列表。插件无法通过APP_CONF_OVERRIDE加载必须使用此变量指定并通过APP_CONF_OVERRIDE配置插件设置[PIHOLE,ASUSWRT]APP_CONF_OVERRIDE使用 JSON 格式覆盖默认设置LOADED_PLUGINS除外。{SCAN_SUBNETS:[192.168.1.0/24 --interfaceeth1],GRAPHQL_PORT:20212}ALWAYS_FRESH_INSTALL如果为true将删除/db和/config文件夹的内容。仅用于测试目的可与 Watchtower 结合使用以始终保持最新安装的镜像true5.4 创建NetAlertX容器执行以下命令创建NetAlertX容器。rootjeven01:/data/netalertx# docker compose up -d[]Running1/1 ✔ Container netalertx Started0.1s5.5 查看NetAlertX容器状态检查NetAlertX容器状态状态确保NetAlertX容器正常启动。rootjeven01:/data/netalertx# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS netalertx jokobsk/netalertx:25/initnetalertx31seconds ago Up31seconds(healthy)5.6 检查NetAlertX容器日志检查NetAlertX容器日志确保NetAlertX服务正常运行。dockercompose logs六、访问NetAlertX服务6.1 访问主页访问地址http://192.168.3.88:20211将IP替换为自己服务器IP地址。如果无法访问到以下页面则检查宿主机的防火墙是否关闭或者放行相关端口云服务器则还需要设置安全组规则。注意需要等待一段时间后系统才能正常访问。6.2扫描设备我们在settings ——Networks to scan中添加本地网段这里环境为192.168.3.0/24这里端口为enp6s18宿主机本地网卡名称更新后点击“add”。填写完毕后保存配置即可。在ARPSCAN_RUN模块中点击扫描设备。扫描完毕后点击Network 可以看到如下效果七、总结通过本次实战我们成功地使用 Docker 部署了 NetAlertX 网络扫描器体验了从环境准备到服务部署的全过程。NetAlertX 强大的网络监控和设备管理功能让我们能够更有效地保护网络安全同时其灵活的通知系统和工作流模块也极大地提升了管理效率。这次实践不仅增强了我们对 Docker 和容器化应用的理解也为今后处理网络安全问题提供了宝贵的实践经验和技术储备。未来我们可以进一步探索 NetAlertX 的高级功能并尝试将其集成到现有的网络管理体系中。

相关新闻