web-dev-qa-db-ja.com

物理的にインストールされているすべてのネットワークカード(Debian)を一覧表示する方法

「専用サーバー」には2つのNICがインストールされているはずですが、1つしか見つかりません。

私の質問:サーバーにインストールされているネットワークカードの数をテストするために利用できる他のコマンドと方法は何ですか?

lspci | grep Ethernet

他に利用可能なコマンド/メソッドはありますか?

14
jens

Lshwを使用して、マシン上のすべてのデバイスを表示できます。ネットワークデバイスのみを表示するには、次のように入力します。

lshw -class network
14
pyasi

ip link showは、ネットワークインターフェイスのように見えるすべてのものをリストします。

12
LawrenceC
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

物理NICに関連するインターフェースのみを表示します。

論理的ではないが、悲しいことにip link showへのtypeオプションを見つけようとしました:

ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
          gre | gretap | ip6gre | ip6gretap | vti | nlmon |
          bond_slave | ipvlan | geneve | bridge_slave | vrf }

ip link showができないことのようです。少なくとも、最初に上記のそれぞれをリストし、次にtypeが指定されていない最後の実行に対してgrep -vを実行するスクリプトに頼ることなくはできません。

11
banankage

イーサネットの場合:

ls -d /sys/class/net/eth* | wc -l
11
ooshro

/proc/net/devファイルには、すべてのインターフェースの詳細が含まれています。例えば.

$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:    3562      60    0    0    0     0          0         0     3562      60    0    0    0     0       0          0
 wlan0: 2491781197 2034240    0    0    0     0          0         0 261797069 1502752    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

ご覧のとおり、ファイルをcatすると、多くの列と詳細が読みにくくなるため、そのファイルを読み取って出力を適切にフォーマットするifconfigコマンドを使用することをお勧めします。

すべてのインターフェースをリストするには使用

/sbin/ifconfig -a

未構成/ダウンネットワークインターフェイスと、/proc/net/devから読み取った構成済みのアクティブなインターフェイスが表示されます。

7
Hrvoje Špoljar
modprobe -c |grep 'eth[0-9]'

各イーサネットデバイスで使用中の実際のデバイスドライバーを示します

1
Paul S