轻量级IP扫描工具:WatchYourLan
项目地址
github:WatchYourLAN
docker:aceberg/watchyourlan
项目介绍
轻量级网络 IP 扫描器。可用于通知新主机并监控主机在线/离线历史记录
Web GUI 应该位于http://localhost:8840
在openwrt上安装项目
- 拉取镜像,在输入栏填入
aceberg/watchyourlan,然后选择拉取,等待镜像拉取完毕即可
- 装一下
node-bootstrap,有些主题、图标和字体需要从互联网下载,作者创建了一个包含所有必要模块和字体的单独映像,这个直接在Docker–>容器–>添加,然后复制下面代码到解析CLT提交,等待下载安装完成即可
1 | docker run --name node-bootstrap \ |
- 添加WatchYourLan容器,第一步已经拉取完镜像了,直接复制命令解析CLT,添加容器即可(没有设置端口,需要自己手动输入http://192.168.1.1:8840/进入网站),不能直接点击容器进去
1 | docker run --name WatchYourLAN \ |
config配置解释
Basic config
| Variable | 描述 | Default |
|---|---|---|
| TZ | 时区 | |
| HOST | 监听地址 | 0.0.0.0 |
| PORT | Web GUI 端口 | 8840 |
| THEME | https://bootswatch.com的主题 | |
| COLOR | 背景颜色:浅色或深色 | dark |
| NODEPATH | 本地节点模块的路径 | |
| SHOUTRRR_URL | 没啥用 |
Scan settings
| Variable | 描述 | Default |
|---|---|---|
| IFACES | 需要扫描的接口,可以是一个或多个,以空格分隔,例如IFACES: "enp4s0 wlxf4ec3892dd51" |
|
| TIMEOUT | 扫描间隔时间(秒) | 120 |
| ARP_ARGS | Web GUI 端口 | 8840 |
| ARP_STRS ARP_STRS_JOINED | https://bootswatch.com的主题 | |
| LOG_LEVEL | 日志级别 | dark |
| TRIM_HIST | 在(小时)后删除历史记录 | |
| HIST_IN_DB | 将历史记录存储在数据库中 (用不上) | |
| USE_DB | 存储的数据库,要么sqlite 要么 postgres |
|
| PG_CONNECT | 连接到 PostgreSQL 的地址 |
说明
openwrt小主机的eth0 br-lan 网卡对应内网(192.168.1.0/24),eht1口对应校园网,因为只需要监控openwrt下的用户,所以网卡设为eth0 br-lan
扫描eth1网口(校园网网段10.110.x.x)能发现不少在线设备使用校园网,不过只能看下IP地址和MAC地址,也没什么用
docker run命令解析
命令执行流程
- 创建一个名为
wyl的 WatchYourLAN 容器。 - 设置容器的网络接口为
eth0br-lan,时区为上海。 - 使容器共享主机的网络,并且不用指定端口映射。
- 将主机的指定目录挂载到容器内,保存容器的数据。
- 使用
aceberg/watchyourlan:v2镜像启动该容器
1 | # 本机配置 |
特别说明:
-v /opt/docker/volumes/wyl:/data/WatchYourLAN \
将本地 /opt/docker/volumes/wyl 目录挂载到容器内的 /data/WatchYourLAN 目录,在创建别的容器时,一定要注意一下-v的配置,在openwrt小主机下容器的挂载目录都在/opt/docker/volumes/,加上容器名即可
纠错
- openwrt小主机的内网网口并不是eth0,而是
br-lan,不要被Web GUI的接口误导了
- 之前在 http://192.168.1.1:8840/config/ 配置接口时填eth0,老是扫不出内网(192.168.1.0/24)的设备,其实接口不应该填eth0,应该是br-lan
- 通过ssh连接小主机,使用
ifconfig查看网卡信息可知,eth0虽然和br-lan的MAC地址相同,是同一个网口,但是只有br-lan获取了内网地址192.168.1.0/24,eth0上并没有分配IP地址,eth0是干嘛的我也不知道,可能有一个属于虚拟网口吧
docker0网口
这个是一个虚拟网口,是docker容器用来和实体小主机之间进行通信的,属于172.17.0.0/16网段,一般没事不要动这个接口,除非要把容器IP地址改到192.168.1.0/24网段,以前尝试过,但是失败了,不知道怎么弄
其他
网上说可以设置账号密码进行认证,防止每个人都能登录WatchYourLAN查看网络信息,但是我没找到在哪里配置登录认证
也找不到在哪里设置网络设备上线通知










