请选择 进入手机版 | 继续访问电脑版

[LINUX] linux中网络接口名称限定 讲解

[复制链接]
查看126 | 回复32 | 2021-9-5 04:27:18 | 显示全部楼层 |阅读模式

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

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

从表面上看好像 没有限定 可以随意定名 ,在一样寻常 应用场景中也可以正常工作,当在特殊 应用场合中就会由于 接口名称的缘故起因 出现莫名其妙的题目 。

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

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

题目 :当这个接口名称的长度过长时就会出现发包失败环境 。

缘故起因 :看如下代码。

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

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

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar gnmpmnuy35327 | 2021-9-12 10:16:18 | 显示全部楼层
楼上的能详细介绍一下么?
回复

使用道具 举报

avatar 爱可电子蓉 | 2021-9-13 18:10:12 | 显示全部楼层
知识就是力量啊!
回复

使用道具 举报

avatar dxf17 | 2021-9-17 13:05:07 | 显示全部楼层
强,我和我的小伙伴们都惊呆了!
回复

使用道具 举报

avatar 陈嘉凯 | 2021-9-20 11:25:46 | 显示全部楼层
精华帖的节奏啊!
回复

使用道具 举报

avatar 刘金栋 | 2021-9-20 12:47:47 | 显示全部楼层
admin楼主的文笔不错!
回复

使用道具 举报

avatar 123457439 | 2021-10-1 23:11:48 | 显示全部楼层
admin楼主看起来很有学问!
回复

使用道具 举报

avatar 天然灵凡 | 2021-10-1 23:14:21 | 显示全部楼层
admin楼主内心很强大!
回复

使用道具 举报

avatar 塞上云烟辣 | 2021-10-2 01:39:03 | 显示全部楼层
看在admin楼主的面子上,认真回帖!
回复

使用道具 举报

avatar 无为307 | 2021-10-2 07:02:37 | 显示全部楼层
admin楼主主机很热情啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则