linux端口连接状态(linux中网络接口名称限制讲解)
导读:Linux中每个网络接口都有一个名称,可以使用ifconfig命令来查询当前系统中的接口。...
Linux中每个网络接口都有一个名称 ,可以使用ifconfig命令来查询当前系统中的接口 。
那么这些接口命名时是否有要求或者限制呢 ,比如格式或者长度限制 。
从表面上看似乎没有限制可以随意命名 ,在一般应用场景中也可以正常工作 ,当在特殊应用场合中就会因为接口名称的原因出现莫名其妙的问题 。
问题1:接口名称长度过长
应用场景:使用网络造包 、发包工具进行向外发包时(比如mz工具) ,需要指定网络接口 。
问题:当这个接口名称的长度过长时就会出现发包失败情况 。
原因:看如下代码 。
当应用程序使用socket向内核发包时 ,会调用struct sockaddr结构来设置发包的协议族(sa_family)和接口名称(sa_data[14]) ,当指定的接口名称长度超过13字节时 ,比如一个桥接口名称为br-0123456789abcd ,最终保存到sa_data[14]中的接口名称就会被截断为br-0123456789 ,这样由于接口不存在就会导致发包失败 。
结论:网络接口名称长度不超过13个字节 。
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!