Обнаружение изменения IP-адреса в Linux

Делает любой знает способ обнаружить изменение IP-адреса в Linux. Скажите, что у меня есть выполнение dhcpcd, и оно присваивает новый IP-адрес, есть ли способ, которым я могу получить уведомление, когда оно изменяется? Я не могу использовать D-шину, потому что это - встроенная сборка ucLinux, которая не имеет ее.

inotify на чем-то в/proc/net/?

10
задан Joel Holdsworth 30 April 2010 в 08:07
поделиться

3 ответа

Поскольку активность DHCP отправляется в syslogd, вы можете создать именованный канал, направлять на него трафик системного журнала и следить за потоком обновлений IP-адресов. См. "Man syslogd" и "man syslog.conf".

Edit: Другой подход - использовать inotify для отслеживания файла аренды DHCP для интерфейса. В Ubuntu 9.10 он находится в каталоге / var / lib / dhcp3.

1
ответ дан 3 December 2019 в 14:52
поделиться

Я думаю, что вы можете использовать dbus для этого в современных дистрибутивах Linux. Если в вашем дистрибутиве используется NetworkManager, см. Этот документ для получения информации о его интерфейсе dbus:

http://people.redhat.com/dcbw/NetworkManager/NetworkManager%20DBUS%20API.txt

0
ответ дан 3 December 2019 в 14:52
поделиться

Команда

ip monitor

покажет вам, что происходит. Он использует некоторый API-интерфейс netlink, который довольно сложен и плохо документирован (по крайней мере, для понимания людьми). Однако ядро ​​может получать уведомления о различных событиях, таких как изменение назначенных IP-адресов, таблиц маршрутизации и статуса канала (например, кто-то отключил сеть)

14
ответ дан 3 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

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