Linuxでネットワークインターフェースの状況を確認するときに使えるコマンド。
mii-tool
$ man mii-tool
NAME
mii-tool - view, manipulate media-independent interface status
(略)
指定したインターフェース(et0, eth1 など)の状況を表示する。-wオプションを使うとlink status の変化を検出してくれる。たとえば、VMWareなどのゲストOS上で実験すると面白い。
仮想スイッチに接続したゲストOSで mii-tool -w を実行してみる
VMWare Fusion on Mac OS 10.6.8 にインストールしたゲストOS(CentOS-6.0)で eth1に対して mii-tool -wを実行。
仮想ネットワークの設定を開く。
「接続」のチェックボックスをオフにする。これで、仮想的にネットワークケーブルを抜いた状態になる。
すると、mii-tool の出力が変化してno link
になる。
「接続」のチェックボックスをオンに戻すと、もとに戻る。
このように mii-tool は楽しいのだが、obsoleteであるからなるべく使わないほうがよいらしい(その代わりにethtoolを使う)。
ethtool
$ man ethtool
NAME
ethtool - Display or change ethernet card settings
(略)
ethtool は mii-tool に比べると多機能でオプションが多いので、とりあえずNICの状態を調べる。
# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
上述の mii-tool -w のようにケーブルの状態をチェックするなら、たとえば watchと組み合わせて
# watch -n 1 "ethtool eth1|grep 'Link detected'"
とすれば間に合う(下の画像のように表示される)。



