Linux中的环回适配器名称

cod*_*box 3 linux networking network-programming

假设Linux系统上的环回网络适配器将始终被称为"lo"是否安全 - 这只是一个可能不遵守的命名约定,或者必须始终如此?

Ale*_*x B 8

我不知道任何具有环回接口的Linux系统除了lo.如果我编写一个特定于系统的脚本,我会依赖这个命名约定,但是在编写可移植程序时却不会.例如,OSX中的环回是lo0.

C中一种可靠的方法是调用一个SIOCGIFCONF ioctl套接字,迭代接口,调用SIOCGIFFLAGS ioctl每个接口,并检查哪些接口有一个IFF_LOOPBACK标志集(参见参考资料/usr/include/linux/if.h).

SIOCGIFCONF 还会给你提供界面名称.