【问题标题】:get ethernet name, class, description vendor, subsystem, etc using c/c++ on linux based systems在基于 Linux 的系统上使用 c/c++ 获取以太网名称、类、描述供应商、子系统等
【发布时间】:2011-05-24 02:03:36
【问题描述】:

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

有几个可用的命令行工具,例如: 1.lshw -C network 2.detecting nic and ports on systems loaded with linux

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

干杯

普拉尚特

【问题讨论】:

    标签: ethernet vendor


    【解决方案1】:

    您要查找的所有信息都在/sys/bus/pci/devices/*/*

    class
    device
    driver
    modalias
    subsystem
    subsystem_device
    subsystem_vendor
    vendor
    

    你可以看到lspci(8)是如何通过strace -o /tmp/out lspci读取文件的,/tmp/out会有很多细节。 (我不知道有什么简单的方法可以将其限制为只是 NIC;我认为lspci(8) 内核都有硬编码的 PCI ID 列表 ->名称映射。)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-25
        • 2014-06-08
        • 2014-06-12
        • 2011-06-28
        • 2017-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多