通知当某人连接到我的本地网络,ARP,通知文件时

银河系


我有一个关于Ubuntu 12.04 LTS Desktop的问题-通知(来回播放音乐时与Rhythmbox应用程序相同的通知),从技术上来说,如果我没有记错的话,它应该称为“ freedesktop.Notifications.service”。我只想在我的其中一台设备(例如;)上添加通知。笔记本电脑,手机,平板电脑连接到我的本地网络。我的配置如下:

我有一个无线路由器。我的路由器通过电线直接连接到台式计算机,我使用的是LAN,其他设备通过WI-FI连接。

例如,假设:

我的路由器的IP地址:192.168.1.1和MAC地址XX:XX:XX:XX:XX:XX

我-作为服务器-192.168.1.101和MAC地址YY:YY:YY:YY:YY :YY

智能手机-192.168.1.102和MAC地址ZZ:ZZ:ZZ:ZZ:ZZ:ZZ

笔记本电脑-192.168.1.103和MAC地址KK:KK:KK:KK:KK:KK

  • 我想做的很简单;每当这些设备连接到我的本地网络时,我都会ARP中添加这些IP地址及其MAC地址,最后修改通知文件。而已。

PS:我说“ ARP”但是,我不确定它是否合适,我只是假设它与ARP配置文件通知文件有关使用终端或其他应用程序的任何建议都是可以接受的。

如果有人可以帮助我,我将不胜感激。

要求

您可以使用来发送通知,notify-send yourmessage但是您想要做的事情有点奇怪。

路由器是处理连接的路由器,除非设备实际连接到计算机或与计算机交互,否则计算机不会记录或注意到与网络的连接。当然,您可以通过定期扫描网络来制作监视器,例如:

nmap -sn 192.168.1.*

然后从此处(或arp,因为现在您可以在此处找到它们)读取数据。但基本上,用于监视连接的设备是您的路由器,而不是您的PC。

如果您的路由器支持它,则可以将路由器的日志记录解析为PC的syslog。现在,建立连接后,您会在系统日志中看到一条消息,然后您可以根据需要将其发送到桌面环境。

但是要回答这个问题,请向您的cron中添加一个脚本,该脚本将执行nmap -sn,将其通过管道传输到temp文件,并使用diff将其与以前的情况进行比较。差异表示离线,差异表示在线。

一个粗略的示例(每次运行仅处理第一个ip更改):

#!/bin/bash
#
#Script to monitor the network and put changes to notification
#
#Save previous scan
cp scan.txt previousscan.txt
#get numeric list of online hosts
nmap -n -sn 192.168.178.* > scan.txt
#collect the difference, only the lines with ip-numbers
message=$(diff previousscan.txt scan.txt | grep 192)
#get first char which indicates if the host came up or went away
iostring="${message:0:1}"
#get first ip-number from the list
computer="${message:23:17}"

#show ip-number in notify if host came up
if [ "$iostring" = \> ]; then
        notify-send "$computer online"
        fi
#show ip-number in notify if host went away
if [ "$iostring" = \< ]; then
        notify-send "$computer offline"
        fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Windows虚拟机连接到我的本地网络

是什么触发了iOS 14上的“想要查找并连接到本地网络上的设备”权限通知?

iOS 14:如何延迟“ [[App Name]”想要查找并连接到本地网络上的设备”通知?

无法从同一本地网络中的其他机器连接到我的公共 IP

通过OpenVPN(使用PiVPN)连接到我的本地网络:不一致

Android | 在本地网络上推送通知

无法连接到本地网络中的kafka容器

如何在本地网络上连接到Xorg

如何识别您连接到的本地网络

连接到VPN时本地网络共享是否显示真实IP地址

Windows上没有互联网连接启动,但是我已连接到本地网络

我的本地网络中的一台PC无法连接到SSH服务器

无法从我的本地网络外部连接到Chrome应用程序TCP服务器

Ubuntu Server可以访问互联网,但是我无法在本地网络上连接到它

连接到本地网络上的MariaDB服务器时,命名管道提供程序错误

我无法退出本地网络

没有互联网的移动通知(仅限本地网络)

如何在同一本地网络的电话之间发送通知?

MYSQL Workbech连接到本地网络数据库?

iperf:连接到远程服务器的速度始终比本地网络快

如何查找其他哪些计算机连接到本地网络

无法使用静态IP连接到本地网络-Ubuntu Server 16.04

无法连接到本地网络(VPN)之外的Ubuntu盒子

iOS 14:Apple Reject“想找到并连接到本地网络上的设备”

无法使用本地网络上的EXPO客户端连接到EXPO XDE

通过WSS连接到在本地网络上运行的Polkadot Full Noder失败

无法连接到本地网络中的ubuntu笔记本电脑

从 VM 的本地网络外部连接到 VirtualBox (Linux Ubuntu 18.04)

无法使用路由器将本地网络连接到Internet