一尘不染

如何在Linux中以编程方式检测IP地址更改?

linux

有没有一种方法可以使用C ++在Linux中以编程方式检测本地计算机上的IP地址更改?


阅读 252

收藏
2020-06-02

共1个答案

一尘不染

在C中,要使用当前IP,请使用:

    int s;
    struct ifreq ifr = {};

    s = socket(PF_INET, SOCK_DGRAM, 0);

    strncpy(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name));

    if (ioctl(s, SIOCGIFADDR, &ifr) >= 0)
        printf("%s\n",
          inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));

将“ eth0”替换为您正在查看的接口。您现在要做的就是轮询更改。

2020-06-02