首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

简简单单教你如何用C语言列举当前所有网口!

一、获取本机所有可用网卡名

原理:

在 Linux 系统中,/proc 目录是一个位于内存中的伪文件系统。

/proc目录是内核提供给我们的查询中心,通过查询该目录下的文件内容,可以获取到有关系统硬件及当前运行进程的信息,如 CPU 信息、负载信息、系统内存信息、磁盘 IO 信息等。

其中文件: ,该文件是内核维护,所有可用的网口均会同步到该文件中。

/proc/net/dev

所以我们要列举出所有可用的网口名称,可以通过查看改文件来实现,

代码原理讲解

list_interface_valid()

该函数用于列举所有可用的网口

interface_name_cut (char *buf, char **name)该函数用于将从文件中国读取的每一行字符串信息,提取出网口名信息,如lo、eth0

代码实现原理如下:

函数strrchr()

该函数返回一个指针,指向字符串s中最后一个出现的字符c位置。

二、核心代码如下:

运行截图

完整代码获取,公众号后台回复:eth

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OP3Xj7rfj_Yi8JsnONKZjDVQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券