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:动态分配地址

其他字段表示接口的其他属性,例如接口地址、目标地址、广播地址、掩码地址、硬件地址、接口索引、接口度量、最大传输单元等

struct ifreq 结构体所有参数及意思 SIOCGIFFLAGS

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

免费AI点我,无需注册和登录