简简单单教你如何用C语言列举当前所有网口!
0赞
发表于 2023/9/26 15:49:05
阅读(1774)
一、获取本机所有可用网卡名
原理:
在 Linux 系统中,/proc 目录是一个位于内存中的伪文件系统。
/proc目录是内核提供给我们的查询中心,通过查询该目录下的文件内容,可以获取到有关系统硬件及当前运行进程的信息,如 CPU 信息、负载信息、系统内存信息、磁盘 IO 信息等。
其中文件:/proc/net/dev
,该文件是内核维护,所有可用的网口均会同步到该文件中。
/proc/net/dev
所以我们要列举出所有可用的网口名称,可以通过查看改文件来实现,
代码原理讲解
list_interface_valid()
该函数用于列举所有可用的网口
interface_name_cut (char *buf, char **name) 该函数用于将从文件
/proc/net/dev
中国读取的每一行字符串信息,提取出网口名信息,如lo、eth0
代码实现原理如下:
函数strrchr()
该函数返回一个指针,指向字符串s中最后一个出现的字符c位置。
二、核心代码如下:
完整代码获取,公众号后台回复:eth
原文链接:https://mp.weixin.qq.com/s/OOFtTue844caJdBYjakDcw
电子技术应用专栏作家一口Linux