#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <net/if.h>int main() { int sockfd; struct ifreq ifr; // 创建一个套接字 sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { perror("socket"); exit(1); } // 设置要获取信息的网络接口名称 strncpy(ifr.ifr_name, "eth0", IFNAMSIZ - 1); // 获取网络接口的标志信息 if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) { perror("ioctl"); close(sockfd); exit(1); } // 检查是否为回环接口 if (ifr.ifr_flags & IFF_LOOPBACK) { printf("Interface is loopback\n"); } else { printf("Interface is not loopback\n"); } // 关闭套接字 close(sockfd); return 0;}