使用 c/c++ 获取以太网名称、类、描述供应商、子系统等在基于 Linux 的系统上

发布于 2024-10-31 04:10:13 字数 317 浏览 1 评论 0原文

使用 ioctl 接口可以获取各种信息。如何获取产品名称、类别、供应商名称、子系统名称等额外信息?

有几个可用的命令行工具,例如: 1. lshw -C 网络 2. 检测加载 Linux 的系统上的网卡和端口

您可以启动一个进程并获取结果,但是是否有任何原始 C/C++ 方法来获取上述信息?

干杯

普拉桑特

Using ioctl interface various info can be fetched. How do you get extra info like product name, class, vendor name, subsystem name etc?

There are couple of command line tools available such as:
1. lshw -C network
2. detecting nic and ports on systems loaded with linux

You can start a process and get the result but Is there any raw c/c++ method to get above mentioned information?

Cheers

Prashant

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一江春梦 2024-11-07 04:10:13

您寻找的所有信息都在 /sys/bus/pci/devices/*/* 中:

class
device
driver
modalias
subsystem
subsystem_device
subsystem_vendor
vendor

您可以使用 查看 lspci(8) 如何读取文件strace -o /tmp/out lspci, /tmp/out 将包含大量详细信息。 (我不知道有什么简单的方法可以将其限制为网卡;我认为lspci(8)内核都很难- PCI ID 的编码列表 -> 名称映射。)

All the information you seek is in /sys/bus/pci/devices/*/*:

class
device
driver
modalias
subsystem
subsystem_device
subsystem_vendor
vendor

You can see how lspci(8) reads through the files with strace -o /tmp/out lspci, /tmp/out will have plenty of details. (I don't know any easy way to restrict this to just the NICs; I think both lspci(8) and the kernel have hard-coded lists of PCI ID -> name mappings.)

┼── 2024-11-07 04:10:13

查看 sysfs 或 procfs,不幸的是这些信息经常被更改,因此不能依赖:(

Look in sysfs or procfs, unfortunately this information has a habit of being changed and so cannot be relied on :(

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文