检测加载linux的系统上的nic和端口

时间:2009-10-29 12:18:09

标签: linux linux-kernel

是否有一种简单的方法可以检测加载linux的系统上的nic和相关端口。

从我对此的研究中,我发现lshw -C network在某种程度上可以帮助我,提供有关端口和接口的详细信息。

但我没有明确区分nic和相关端口。

假如我有2个带有4个端口的NIC卡和2个带有2个端口的其他NIC,如何使用lshw或任何方式检测此信息!!

lshw -C network(此处仅粘贴部分信息)

使用lshw -C network,我们可以使用序列号,例如:

* - 网络:0        描述:以太网接口        产品:82575EB千兆网络连接        供应商:英特尔公司        物理id:0        公交信息:pci @ 0000:01:00.0        逻辑名称:eth0        版本:02        serial:00:14:4f:e7:40:e0

* - 网络:1        描述:以太网接口        产品:82575EB千兆网络连接        供应商:英特尔公司        物理id:0.1        巴士信息:pci @ 0000:01:00.1        逻辑名称:eth1        版本:02        serial:00:14:4f:e7:40:e1

* - network:0 DISABLED        描述:以太网接口        产品:82571EB千兆以太网控制器(铜)        供应商:英特尔公司        物理id:0        公交信息:pci @ 0000:2b:00.0        逻辑名称:eth6        版本:06        serial:00:15:17:be:e6:75

* - 网络:1已禁用        描述:以太网接口        产品:82571EB千兆以太网控制器(铜)        供应商:英特尔公司        物理id:0.1        公交信息:pci @ 0000:2b:00.1        逻辑名称:eth4        版本:06        序列号:00:15:17:是:e6:74

序列号有点帮助,前五个元组帮助我区分序列号中的nics和最后一个元组,当进入给定nic的不同端口时,似乎是顺序的。

-Thanks 哈里什

1 个答案:

答案 0 :(得分:1)

我不完全确定您想知道哪些信息。我猜你想知道哪个以太网接口在同一块板上。一种快速检测方法是通过sysfs目录,该目录包含有关设备和驱动程序的信息。此信息也可以与lspci相关联。

示例:

find /sys/devices/ -type d | grep eth 

以我们的格式输出我系统上的数据:

/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0

其中pci0000:00是总线,最后一个号码是卡(0000:02:00.0)。

然后,如果我运行lspci,我可以查找卡片标识符以获取更多信息

lspci | grep 02:00

Nets me:

  

02:00.0以太网控制器:Realtek Semiconductor Co.,Ltd。RTL8101E / RTL8102E PCI Express快速以太网控制器(转02)

在您的系统上,您应该有多个eth *映射到每张卡。这应该告诉您哪张牌与哪张牌的映射以及每张特定牌的更多信息。