Уведомление Когда кто-то подключается к моей локальной сети, ARP, файл уведомлений


У меня вопрос по поводу рабочего стола Ubuntu 12.04 LTS - уведомления (то же, что и приложение Rhythmbox при воспроизведении музыки назад и вперед), технически, если я не ошибаюсь, его следует назвать «freedesktop.Notifications. оказание услуг". Я просто хочу добавить уведомления, когда одно из моих устройств, таких как; ноутбук, телефон, планшет подключиться к моей локальной сети. Моя конфигурация следующая:

У меня есть беспроводной маршрутизатор. Мой маршрутизатор подключен напрямую к настольному компьютеру с помощью провода, я использую LAN, другие устройства подключаются через WI-FI.

Например, скажем:

IP-адрес моего маршрутизатора : 192.168.1.1 & MAC-адрес XX: XX: XX: XX: XX: XX

Me - как сервер - 192.168.1.101 и MAC-адрес ГГ: ГГ: ГГ: ГГ: ГГ: ГГ

Смартфон - 192.168.1.102 и MAC-адрес ZZ: ZZ: ZZ: ZZ: ZZ: ZZ

Портативный компьютер - 192.168.1.103 и MAC адрес KK: KK: KK: KK: KK

  • То, что я хочу сделать, просто; добавьте эти IP-адреса вместе с их MAC-адресами в ARP и, наконец, измените файл уведомлений, всякий раз, когда эти устройства подключаются к моей локальной сети, я получаю уведомление. Вот и все.

П.С .: Я сказал «ARP» . Однако я не уверен, подходит ли он, я просто предполагаю, что он как-то связан с файлом конфигурации ARP и файлом уведомления . Любое предложение с использованием терминала или другого приложения будет приемлемым.

Я буду очень признателен, если кто-нибудь сможет мне помочь.

1
задан 1 January 2014 в 02:28

1 ответ

Вы можете отправлять уведомления, используя notify-send yourmessage, но то, что вы хотите сделать, немного странно.

Ваш маршрутизатор - это тот, кто обрабатывает соединения, соединение с вашей сетью не будет регистрироваться или замечаться вашим компьютером, если устройство фактически не подключается к вашему компьютеру и не взаимодействует с ним. Конечно, вы можете сделать монитор, регулярно сканируя сеть, например:

nmap -sn 192.168.1.*

, а затем читайте ваши данные отсюда (или arp, потому что теперь вы можете найти их там). Но в основном устройством для мониторинга подключений является ваш маршрутизатор, а не компьютер.

Если ваш маршрутизатор поддерживает это, вы можете проанализировать регистрацию маршрутизатора в системном журнале вашего компьютера. Теперь при установлении соединения вы получаете сообщение в системном журнале, которое затем можете отправить в среду рабочего стола, если хотите.

Но чтобы ответить на вопрос , добавьте в ваш cron скрипт, который будет выполнять nmap -sn, передайте его во временный файл и сравните с предыдущей ситуацией, используя diff. Diff out означает оффлайн, diff in означает онлайн.

Грубый пример (обрабатывает только первое изменение 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
0
ответ дан 1 January 2014 в 02:28

Другие вопросы по тегам:

Похожие вопросы: