ethtool Еквівалент для OS X Lion


13

Крім ifconfig, чи є додаток / скрипт для OS X Lion, який виробляє подібний вихід / інформацію ethtool ?

Зокрема, я хотів би мати можливість запитувати наступне:

  • інформація про драйвер
  • онлайн / офлайн
  • швидкість
  • дуплекс

Вихід з ethtool виглядає так:

ajc@ajc-3] sudo ethtool eth0|grep Duplex                                                                                                                                                    ~
    Duplex: Full
ajc@ajc-3] sudo ethtool eth0|grep Speed                                                                                                                                                     ~
    Speed: 100Mb/s
ajc@ajc-3] sudo ethtool eth0|grep Link                                                                                                                                                      ~
    Link detected: yes
ajc@ajc-3] sudo ethtool -i eth0                                                                                                                                                             ~
driver: pcnet32
version: 1.32
firmware-version: 
bus-info: 0000:00:03.0

1
Інформація про функції, які ви шукаєте, буде корисною. Не змушуйте нас робити дослідження - допоможіть нам допомогти вам. Ніхто не повинен більше дбати про відповідь на ваше запитання, ніж ви
jaberg

2
За вашою пропозицією надані деталі.
AJ.

Відповіді:


12

Основними інструментами для читання деталей OSX на апаратному забезпеченні є system_profiler і ioreg. Для деталей мережного інтерфейсу, ifconfig це найкращий вибір. Перші два показують вам шляхи з'єднання для апаратних засобів, а також інформацію про драйвер програмного забезпечення. У вашому прикладі - засоби масової інформації та стан надають більшість деталей, які ви перерахували.

mac:~ me$ ifconfig en0 

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 00:1b:63:a8:33:33 
    inet6 fe80::21b:63ff:fea8:3333%en0 prefixlen 64 scopeid 0x4 
    inet 172.16.1.8 netmask 0xffffff00 broadcast 172.16.1.255
    media: autoselect (100baseTX <full-duplex,flow-control>)
    status: active

mac:~ me$ system_profiler|awk '/^Ethernet Cards/{c=15;next}c-->0'

        ethernet:

          Type: Ethernet Controller
          Bus: PCI
          Vendor ID: 0x10de
          Device ID: 0x0ab0
          Subsystem Vendor ID: 0x10de
          Subsystem ID: 0xcb79
          Revision ID: 0x00b1
          BSD name: en0
          Kext name: nvenet.kext
          Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/nvenet.kext
          Version: 2.0.17

У вашому випадку ви прив'язуєтеся до Duplex, Speed ​​і Link і на апаратному забезпеченні Mac ви можете отримати всі ці дані ifconfig en0 | egrep [media|status] за бажанням.


Я перевірив обидві ці команди, і вони, здається, досліджують велику загальносистемну інформацію. Я краще уникати цього, якщо це можливо ... Цікаво, чи є щось націлене на мережу?
AJ.

2
Я не згоден з цим коментарем, ви можете легко скопіювати запропонований вихід ethtool просто додавши оператор grep так само, як і ви. ifconfig en0 | grep Media: надає ті ж самі деталі, що й перші 3 ваші виходи ethtool в одній команді і без будь-якої сторонньої інформації.
stuffe

Єдина різниця, що залишилася, полягає в тому, що macs перераховують автоматичне вибір і швидкість переговорів і не просто повідомляють про швидкість з'єднання. Трубопровідний вивід в awk і cut може допомогти там, де це потрібно.
bmike

@stuffe - "дві команди", на які посилається мій коментар, були system_profiler і ioreg. Я згоден, що ifconfig менш ресурсомісткий.
AJ.

3

Може бути мережі може надати інформацію, яку ви шукаєте:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP (8) Посібник BSD System Manager NETWORKSETUP (8)

NAME        networksetup - інструмент конфігурації для налаштування мережі в Системних настройках.

Але це насправді не нахиляється і може дати вам менше інформації, ніж ifconfig


1
bash-3.2 $ networksetup -getinfo Ethernet Ethernet - це не визнана послуга мережі. ** Помилка: параметри недійсні.
Mona Jalal

1

Я б змішав як ifconfig, так і networketup:

ifconfig:

alex @ smiley: ~ | ⇒ ifconfig en0 | status grep

Статус: активний

Потім мережевийстатус

alex @ smiley: ~ | et networketup -getinfo "Ethernet адаптер (en0)"

Конфігурація DHCP

IP-адреса: 192.168.1.11

Маска підмережі: 255.255.255.0

Маршрутизатор: 192.168.1.1

Ідентифікатор клієнта:

IPv6: Автоматичний IPv6

IP-адреса: немає

Маршрутизатор IPv6: немає

Ethernet Адреса: 1c: 6f: 65: 98: de: 81

Виділіть будь-які лінії з обох інструментів, які ви хочете. Досить легко об'єднати різні рядки в простий скрипт, щоб вивести всю інформацію разом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.