コンピューターが使用しているネットワークインターフェイスを確認するにはどうすればよいですか?


24

MBP(OS X 10.6.2)で、ルーターに同じ静的IPを使用するように設定された有線イーサネットとワイヤレス空港の構成があります(例:http://forums.macrumors.com/archive/index .php / t-708685.html)。また、有線接続が空港より上になるようにサービスオーダーを設定しました(たとえば、イーサネットケーブルが接続されている場合Mac OS Xで説明されているように、空港を自動的にオフにします)。

これは「機能している」ようです。イーサネットケーブルを接続したり外したりすると、リモートロケーションへのオープンなssh接続が維持されます。ただし、有線接続が存在するかどうかに関係なく、Airportカードはライブ(およびルーターに接続)のままなので、有線インターフェースが利用可能なときに実際に「アクティブ」接続であることをどのように確認できますか?IPアドレスは両方で同じであるため、これはワイヤレスインターフェイス使用できないという保証ですか?このインターフェイスが使用されているかどうかを確認する他の方法はありますか?

PS。これを書き上げてすべての事実を確認する行為が私にいくつかの洞察をもたらすので、私はこれを投稿したらすぐに(部分的な)答えを投稿するつもりです。(より興味深い未回答の部分は上記の太字で示しています。)

回答:


26

「どのインターフェイスを使用してホストwxyzにアクセスしますか?」などの質問の最終的なリファレンス 任意の時間または状況については、ルーティングテーブルを参照することです。

[mini-nevie:~] nevinwilliams% route get 10.10.10.10
   route to: 10.10.10.10
destination: default
       mask: default
    gateway: 192.168.2.1
  interface: en0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 

en0とen1の両方を有効にしましたが、en0はサービスオーダーの最初です。イーサネットのプラグを抜いて、他の変更を加えずに、同じコマンドで次のことができます。

mini-nevie:~] nevinwilliams% route get 10.10.10.10
   route to: 10.10.10.10
destination: default
       mask: default
    gateway: 192.168.2.1
  interface: en1
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 

12

私はこれを使用します:

if=$(route -n get 0.0.0.0 2>/dev/null | awk '/interface: / {print $2}')

if [ -n "$if" ]; then
    echo "Default route is through interface $if"
else
    echo "No default route found"
fi

2
iface(){ route get 0.0.0.0 2>/dev/null | awk '/interface: / {print $2}'; }
mralexgray 14年

8

ifconfig -a各状況のダンプを次に示します(後で違いを強調します)。

イーサネットケーブルが差し込まれています:

lo0:flags = 8049 mtu 16384
        inet6 :: 1 prefixlen 128
        inet6 xxxx :: 1%lo0 prefixlen 64 scopeid 0x1
        inet 127.0.0.1ネットマスク0xff000000
gif0:flags = 8010 mtu 1280
stf0:flags = 0 mtu 1280
en0:flags = 8863 mtu 1500
        inet6 xxxx%en0 prefixlen 64 scopeid 0x4
        inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
        エーテルxx:xx:xx:xx:xx:xx
        メディア:自動選択(100baseTX)ステータス:アクティブ
        サポートされるメディア:なし自動選択10baseT / UTP 10baseT / UTP 10baseT / UTP 10baseT / UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 
fw0:flags = 8863 mtu 4078
        lladdr xx:xx:xx:xx:xx:xx
        メディア:自動選択ステータス:非アクティブ
        サポートされるメディア:自動選択 
en1:flags = 8863 mtu 1500
        inet6 xxxx%en1 prefixlen 64 scopeid 0x6
        inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
        エーテルxx:xx:xx:xx:xx:xx
        メディア:自動選択ステータス:アクティブ
        サポートされるメディア:自動選択

イーサネットケーブルが抜かれている:

lo0:flags = 8049 mtu 16384
        inet6 :: 1 prefixlen 128
        inet6 xxxx :: 1%lo0 prefixlen 64 scopeid 0x1
        inet 127.0.0.1ネットマスク0xff000000
gif0:flags = 8010 mtu 1280
stf0:flags = 0 mtu 1280
en0:flags = 8863 mtu 1500
        エーテルxx:xx:xx:xx:xx:xx
        メディア:自動選択ステータス:非アクティブ
        サポートされるメディア:なし自動選択10baseT / UTP 10baseT / UTP 10baseT / UTP 10baseT / UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 
fw0:flags = 8863 mtu 4078
        lladdr xx:xx:xx:xx:xx:xx
        メディア:自動選択ステータス:非アクティブ
        サポートされるメディア:自動選択 
en1:flags = 8863 mtu 1500
        inet6 xxxx%en1 prefixlen 64 scopeid 0x6
        inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
        エーテルxx:xx:xx:xx:xx:xx
        メディア:自動選択ステータス:アクティブ
        サポートされるメディア:自動選択

diff plugged unplugged 有線接続が利用可能になったときにアクティブになることを示しています。

8,9d7
<   inet6 xxxx%en0 prefixlen 64 scopeid 0x4 
<   inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
11c9
<   media: autoselect (100baseTX <full-duplex,flow-control>) status: active
---
>   media: autoselect status: inactive

1
補遺:サードパーティの拡張機能 "MenuMeters"(ragingmenace.com/software/menumeters)により、どちらが「アクティブな」インターフェースであるか、またすべてのインターフェースで使用されている帯域幅を確認することができます。有線接続が差し込まれ、取り外されたとき、インターフェースは実際に(必要に応じて)適切に切り替わります。
エーテル

6

いくつかのこと。Macは、常に「ネットワーク接続」プロファイルにリストされている順序でネットワーク接続を使用します。たとえば、イーサネットがワイヤレスの上にある場合、イーサネットが引き継ぎます。

SSHがどの程度機能するかはわかりませんが、私の経験からです。一方の接続が失敗または切断した場合、SSHはもう一方の接続を使用します。

接続がアクティブかどうかを確認したい場合は、帯域幅モニターユーティリティを使用する必要があります。すばらしいのはiStat(http://www.islayer.com/apps/istatmenus/)です。


1
誤って速すぎて読みました、ええ...私が言ったことはサービスの注文です。帯域幅モニターを実際に調べて、すべての接続間で何が起こっているのかを確認する必要があります。
スティーブンルー

sshはネットワークのテストに使用していましたが、実際にはすべてのTCP(永続)セッションで実行できます。
エーテル

0

アドバイスを使用して、イーサネットとWiFiのIPアドレスを同じにし、提案どおりにサービス順序を設定し、en0とen1で[ネットワークユーティリティ]> [情報]を使用しました。

TimeMachineバックアップを開始し、[ネットワークユーティリティ]> [情報]> [en0イーサネット]で、ネットワーク接続> [情報]> [en1 WiFi何も移動していない間、数千のパケットがイーサネット接続を移動していることがわかりました。

正しい方向を教えてくれてありがとう。TimeMachineのバックアップが完了したら、別のIPアドレスに戻り、Macがすべてをイーサネット経由で自動的に移動するかどうかを確認します。

元の質問は、「コンピューターが使用しているネットワークインターフェイスをどのように確認できますか?」でした。ネットワークユーティリティは私のために働いた。

Macbook Pro 17 "2010年半ば、マウンテンライオン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.