struct ifreq 结构体所有参数及意思 SIOCGIFFLAGS
struct ifreq { char ifr_name[IFNAMSIZ]; /* 接口名称 / union { struct sockaddr ifr_addr; / 接口地址 / struct sockaddr ifr_dstaddr; / 目标地址 / struct sockaddr ifr_broadaddr; / 广播地址 / struct sockaddr ifr_netmask; / 掩码地址 / struct sockaddr ifr_hwaddr; / 硬件地址 / short ifr_flags; / 接口标记 / int ifr_ifindex; / 接口索引 / int ifr_metric; / 接口度量 / int ifr_mtu; / 最大传输单元 / struct ifmap ifr_map; / 地址映射信息 / char ifr_slave[IFNAMSIZ]; / 从接口名称 / char ifr_newname[IFNAMSIZ]; / 新的接口名称 */ char ifr_data; / 接口数据 */ }; };
其中,SIOCGIFFLAGS 是获取接口的标记的命令,用于获取接口的当前状态标记。
ifr_name 字段表示接口的名称。 ifr_flags 字段表示接口的标记,包括以下标记:
- IFF_UP:接口已启用
- IFF_BROADCAST:支持广播传输
- IFF_DEBUG:调试模式
- IFF_LOOPBACK:环回接口
- IFF_POINTOPOINT:点对点连接
- IFF_RUNNING:接口正在运行
- IFF_NOARP:无需ARP协议
- IFF_PROMISC:混杂模式
- IFF_ALLMULTI:接收所有多播报文
- IFF_MASTER:主接口
- IFF_SLAVE:从接口
- IFF_MULTICAST:支持多播传输
- IFF_PORTSEL:自动选择传输速率
- IFF_AUTOMEDIA:自动选择传输媒体
- IFF_DYNAMIC:动态分配地址
其他字段表示接口的其他属性,例如接口地址、目标地址、广播地址、掩码地址、硬件地址、接口索引、接口度量、最大传输单元等

原文地址: https://www.cveoy.top/t/topic/hY4D 著作权归作者所有。请勿转载和采集!