Linux中每个网络接口都有一个名称,可以使用ifconfig命令来查询当前系统中的接口。
那么这些接口命名时是否有要求或者限制呢,比如格式或者长度限制。
从表面上看似乎没有限制可以随意命名,在一般应用场景中也可以正常工作,当在特殊应用场合中就会因为接口名称的原因出现莫名其妙的问题。
问题1:接口名称长度过长
应用场景:使用网络造包、发包工具进行向外发包时(比如mz工具),需要指定网络接口。
问题:当这个接口名称的长度过长时就会出现发包失败情况。
原因:看如下代码。
来自标准linux源代码(include/linux/socket.h)structsockaddr{<spanstyle="white-space:pre"></span>sa_family_tsa_family;/*addressfamily,AF_xxx*/<spanstyle="white-space:pre"></span>charsa_data[14];/*14bytesofprotocoladdress*/};