Как программно определить изменение IP-адреса в Linux?

В C, чтобы получить текущий 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));

Замените cxx "eth0" интерфейсом, который cxx вы просматриваете. Все, что c++ вам теперь нужно сделать, это cxx запросить изменения.

c++

linux

2022-10-22T08:49:58+00:00