在 Linux 或 Unix 系统中,ifconfig 是个老牌的网络诊断工具。很多人在终端里敲下它,看着一长串输出,目光扫过接口名、IP、网关,但常常忽略旁边那个叫 flags 的小字段。这个家伙到底代表什么?简单来说,它是一组状态标志,用来告诉你这个网络接口当前处于什么“工作模式”——是启动了还是关了、能不能广播、是不是在监听所有包……每个标志背后都对应着网卡的一个具体行为属性。

常见的 flags 主要有这么几个,每个都有明确的含义:
- UP:接口已启动并处于活动状态,这是最基本的前提,没它别的都不用谈。
- BROADCAST:表示这个接口支持广播地址,可以发送广播包。
- LOOPBACK:回环接口的标志,通常就是
lo,用于本机内部通信。 - POINTOPOINT:点对点连接,常见于 翻跟斗 或串口链路,两台设备直连,不做广播。
- MULTICAST:支持多播地址,能接收和发送组播数据。
- NOARP:不使用地址解析协议。比如某些点对点接口就不需要解析三层到二层的映射。
- PROMISC:混杂模式,网卡会“偷听”所有经过的数据包,不管是不是发给它的。这块在抓包、网络监控时经常出现。
- ALLMULTI:接收所有多播数据包,不经过多播过滤规则。
这些标志组合起来,基本就能勾勒出一个接口的脾气秉性。想查具体某个接口的完整状态,运行 ifconfig 就好,比如 eth0 或 wlan0。平时做网络排查或者性能调优的时候,重点关注是否有 UP 和 PROMISC 这类标志,往往能省下不少弯路。