Làm cách nào để biết giao diện mạng mà máy tính của tôi đang sử dụng?


24

Trên MBP (OS X 10.6.2) Tôi đã có cấu hình ethernet có dây và sân bay không dây được thiết lập để sử dụng cùng một IP tĩnh cho bộ định tuyến của mình (ví dụ như được mô tả tại http://forums.macrumors.com/archive/index .php / t-708685.html ). Tôi cũng đã thiết lập Đơn đặt hàng dịch vụ để kết nối có dây ở trên Sân bay (ví dụ như được mô tả tại Mac OS X sẽ tự động tắt Sân bay nếu cắm cáp ethernet ).

Điều này dường như "hoạt động": một kết nối ssh mở đến một vị trí từ xa vẫn duy trì khi tôi cắm và rút cáp ethernet. Tuy nhiên, vì thẻ Sân bay vẫn hoạt động (và được kết nối với bộ định tuyến) bất kể có kết nối có dây hay không, làm thế nào tôi có thể biết rằng giao diện có dây thực sự là kết nối "hoạt động" khi khả dụng? Vì địa chỉ IP giống nhau cho cả hai, điều này có đảm bảo rằng giao diện không dây có thể được sử dụng không? Có một số cách khác để biết nếu giao diện này được sử dụng?

Tái bút Tôi sẽ đăng một câu trả lời (một phần) ngay sau khi tôi đăng bài này, vì hành động viết nó lên và kiểm tra tất cả các sự kiện của tôi dẫn tôi đến một số hiểu biết. (Phần thú vị hơn và chưa được trả lời được in đậm ở trên.)

Câu trả lời:


26

Tham chiếu dứt khoát cho các câu hỏi như 'Giao diện nào sẽ được sử dụng để tiếp cận máy chủ wxyz?' cho bất kỳ thời gian hoặc tình huống nhất định là tham khảo bảng định tuyến.

[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 

Tôi đã bật cả en0 và en1 và en0 là đầu tiên trong Đơn hàng dịch vụ. Rút phích cắm ethernet của tôi, không thực hiện thay đổi nào khác, cùng một lệnh đưa ra:

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

Tôi sử dụng cái này:

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

8

Đây là một bãi chứa ifconfig -atrong mỗi tình huống (Tôi sẽ nhấn mạnh sự khác biệt sau đó):

Cáp Ethernet được cắm vào:

lo0: cờ = 8049 mtu 16384
        inet6 :: 1 tiền tố 128
        inet6 xxxx :: 1% lo0 prefixlen 64 scopeid 0x1
        inet 127.0.0.1 netmask 0xff000000
gif0: cờ = 8010 mtu 1280
stf0: cờ = 0 mtu 1280
en0: cờ = 8863 mtu 1500
        inet6 xxxx% en0 tiền tố 64 scopeid 0x4
        inet 192.168.0.110 netmask 0xffffff00 phát 192.168.0.255
        ether xx: xx: xx: xx: xx: xx
        phương tiện: autoselect (100baseTX) trạng thái: hoạt động
        phương tiện được hỗ trợ: không có tự động chọn 10baseT / UTP 10baseT / UTP 10baseT / UTP 10baseT / UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 
fw0: cờ = 8863 mtu 4078
        lladdr xx: xx: xx: xx: xx: xx
        media: autoselect status: không hoạt động
        phương tiện được hỗ trợ: tự động chọn 
en1: cờ = 8863 mtu 1500
        inet6 xxxx% en1 tiền tố 64 scopeid 0x6
        inet 192.168.0.110 netmask 0xffffff00 phát 192.168.0.255
        ether xx: xx: xx: xx: xx: xx
        media: autoselect status: active
        phương tiện được hỗ trợ: tự động chọn

Cáp Ethernet được rút ra:

lo0: cờ = 8049 mtu 16384
        inet6 :: 1 tiền tố 128
        inet6 xxxx :: 1% lo0 prefixlen 64 scopeid 0x1
        inet 127.0.0.1 netmask 0xff000000
gif0: cờ = 8010 mtu 1280
stf0: cờ = 0 mtu 1280
en0: cờ = 8863 mtu 1500
        ether xx: xx: xx: xx: xx: xx
        media: autoselect status: không hoạt động
        phương tiện được hỗ trợ: không có tự động chọn 10baseT / UTP 10baseT / UTP 10baseT / UTP 10baseT / UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 
fw0: cờ = 8863 mtu 4078
        lladdr xx: xx: xx: xx: xx: xx
        media: autoselect status: không hoạt động
        phương tiện được hỗ trợ: tự động chọn 
en1: cờ = 8863 mtu 1500
        inet6 xxxx% en1 tiền tố 64 scopeid 0x6
        inet 192.168.0.110 netmask 0xffffff00 phát 192.168.0.255
        ether xx: xx: xx: xx: xx: xx
        media: autoselect status: active
        phương tiện được hỗ trợ: tự động chọn

diff plugged unplugged cho thấy kết nối có dây sẽ hoạt động khi có sẵn:

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
Phụ lục: thông qua tiện ích mở rộng của bên thứ ba "MenuMeter" ( ragingmenace.com/software/menumeter ), có thể thấy giao diện "hoạt động" và băng thông đang được sử dụng trên tất cả các giao diện, điều này cho thấy rõ rằng hoạt động giao diện thực sự chuyển đổi đúng (như mong muốn) khi kết nối có dây được cắm và gỡ bỏ.
Ether

6

Đôi điều. Mac sẽ luôn sử dụng các kết nối mạng theo thứ tự được liệt kê trong hồ sơ "Kết nối mạng" của bạn. Ví dụ: nếu Ethernet nằm trên mạng không dây, Ethernet sẽ tiếp quản.

Tôi không chắc chắn về cách SSH hoạt động nhiều như vậy, nhưng từ kinh nghiệm của tôi. Nếu một kết nối bị lỗi hoặc ngắt kết nối, SSH sẽ sử dụng kết nối khác.

Nếu bạn thực sự muốn xem các kết nối có hoạt động hay không, bạn nên sử dụng tiện ích theo dõi băng thông. Một thứ tuyệt vời là iStat ( http://www.islayer.com/apps/istatmenus/ ).


1
Tôi vô tình đọc quá nhanh, vâng ... những gì tôi nói là dịch vụ. Bạn thực sự nên nhìn vào màn hình băng thông để xem những gì đang diễn ra giữa tất cả các kết nối của bạn.
Steven Lu

ssh là những gì tôi đã sử dụng để kiểm tra mạng, nhưng thực sự bất kỳ phiên TCP (liên tục) nào cũng được.
Ether

0

Tôi đã sử dụng lời khuyên để tạo địa chỉ IP giống nhau cho Ethernet và WiFi, Đặt Đơn hàng dịch vụ theo đề xuất và chỉ sử dụng Tiện ích mạng> Thông tin trên en0 và en1.

Tôi đã khởi tạo bản sao lưu TimeMachine và trong Tiện ích mạng> Thông tin> en0 Ethernet Tôi có thể thấy rằng hàng ngàn gói đang di chuyển qua kết nối ethernet, trong khi Tiện ích mạng> Thông tin> en1 WiFi không có gì chuyển động.

Cảm ơn đã giúp tôi chỉ đúng hướng. Khi sao lưu TimeMachine hoàn tất, tôi sẽ quay trở lại các địa chỉ IP riêng biệt và xem Mac có tự động di chuyển mọi thứ qua Ethernet không.

Câu hỏi ban đầu là "Làm thế nào tôi có thể biết giao diện mạng nào mà máy tính của tôi đang sử dụng?" Tiện ích mạng làm việc cho tôi.

Macbook Pro 17 "Giữa năm 2010, Sư tử núi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.