linux - 如何自动获得IP地址更改通知

标签 linux linux-kernel

在 linux 中是否有任何方法,如回调或信号,以便在 IP 地址发生任何变化时得到通知。 我想向内核注册一个回调,或者从内核获取一个自动完成的信号,而不是我的代码在套接字上轮询。

提前致谢。

最佳答案

您通过 netlink 套接字接收来自内核的通知。

您需要创建一个 NETLINK_ROUTE 套接字并通过 bind() 将其订阅到 RTMGRP_IPV4_IFADDR 组来订阅 IP 更改。然后,您将收到类型为 RTM_NEWADDRRTM_DELADDR 的网络链接消息,其路由属性为 IFA_LOCALIFA_ADDRESS

关于linux - 如何自动获得IP地址更改通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542253/

相关文章:

linux - 我需要为此使用什么 openssl 命令?

linux - Linux内核中的内存保护

android - 连接时自动启动 MTK 设备(非三星)

linux - Linux 上 VMA 的开销

linux - Systemtap 不显示内核函数中的所有局部变量

c - 使用可加载内核模块替换内核函数

c++ - 为什么 boost 的 managed_mapped_file::shrink_to_fit 在 Windows 和 Linux 上表现不同?

c++ - 与icecc交叉编译时如何设置ICECC_VERSION

c - 使用 uname(2) 检查错误?

linux - 如果Linux(Ubuntu)安装或卸载了任何其他程序,如何获取程序事件?