主页 > 知识库 > linux中网络接口名称限制讲解

linux中网络接口名称限制讲解

热门标签:山东企业电销机器人价格 pageadm实现地图标注 珲春市地图标注app 百度地图标注开锁电话 依兰县地图标注app 安阳百应电销机器人加盟 潮州地图标注 公司400电话办理价格 百度中国地图标注中心

Linux中每个网络接口都有一个名称,可以使用ifconfig命令来查询当前系统中的接口。

那么这些接口命名时是否有要求或者限制呢,比如格式或者长度限制。

从表面上看似乎没有限制可以随意命名,在一般应用场景中也可以正常工作,当在特殊应用场合中就会因为接口名称的原因出现莫名其妙的问题。

问题1:接口名称长度过长

应用场景:使用网络造包、发包工具进行向外发包时(比如mz工具),需要指定网络接口。

问题:当这个接口名称的长度过长时就会出现发包失败情况。

原因:看如下代码。

来自标准linux源代码(include/linux/socket.h)  
struct sockaddr {  
span style="white-space:pre">    /span>sa_family_t sa_family; /* address family, AF_xxx */  
 span style="white-space:pre">   /span>char sa_data[14]; /* 14 bytes of protocol address */  
};  

当应用程序使用socket向内核发包时,会调用struct sockaddr结构来设置发包的协议族(sa_family)和接口名称(sa_data[14]),当指定的接口名称长度超过13字节时,比如一个桥接口名称为br-0123456789abcd,最终保存到sa_data[14]中的接口名称就会被截断为br-0123456789,这样由于接口不存在就会导致发包失败。

结论:网络接口名称长度不超过13个字节。

标签:沧州 河池 淘宝邀评 保定 河北 山南 乐山 榆林

巨人网络通讯声明:本文标题《linux中网络接口名称限制讲解》,本文关键词  linux,中,网络,接口,名称,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《linux中网络接口名称限制讲解》相关的同类信息!
  • 本页收集关于linux中网络接口名称限制讲解的相关信息资讯供网民参考!
  • 推荐文章