ethtool Äquivalent für OS X Lion

Gibt es außer ifconfig eine App/ein Skript für OS X Lion, das ähnliche Ausgaben/Informationen wie ethtool erzeugt ?

Konkret möchte ich folgendes abfragen:

  • Fahrerinfo
  • Online Offline
  • Geschwindigkeit
  • Duplex

Die Ausgabe von ethtool sieht so aus:

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
Informationen zu den gesuchten Funktionen wären hilfreich. Lassen Sie uns nicht recherchieren – helfen Sie uns, Ihnen zu helfen. Niemand sollte sich mehr um die Antwort auf Ihre Frage kümmern als Sie
Gemäß Ihrem Vorschlag, Details bereitgestellt.

Antworten (4)

Meine primären Tools zum Lesen von OSX-Details zur Hardware sind system_profilerund ioreg. Für Details zur Netzwerkschnittstelle ist dies ifconfigdie beste Wahl. Die ersten beiden zeigen Ihnen Verbindungspfade für die Hardware sowie Softwaretreiberinformationen. In Ihrem Beispiel liefern Medien und Status die meisten der von Ihnen aufgelisteten Details.

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

In Ihrem Fall suchen Sie nach Duplex, Speed ​​und Link und auf Mac-Hardware können Sie alle diese Daten ifconfig en0 | egrep [media|status]nach Belieben abrufen.

Ich habe diese beiden Befehle überprüft, und sie scheinen umfangreiche, systemweite Informationen zu untersuchen. Ich würde das nach Möglichkeit lieber vermeiden ... Ich frage mich, ob es etwas Netzwerkorientiertes gibt?
Ich bin mit diesem Kommentar nicht einverstanden. Sie können die vorgeschlagene Ausgabe von ethtooleinfach replizieren, indem Sie auf die gleiche Weise eine grep-Anweisung hinzufügen. ifconfig en0 | grep Media:liefert die gleichen Details wie die ersten 3 Ihrer ethtool-Ausgaben in einem einzigen Befehl und ohne irrelevante Informationen.
Der einzige verbleibende Unterschied besteht darin, dass macs die automatische Auswahl und die ausgehandelte Verbindungsgeschwindigkeit auflistet und nicht einfach nur die Verbindungsgeschwindigkeit meldet. Piping-Ausgang zu awk und cut kann dort helfen, wo es gewünscht wird.
@stuffe - die "zwei Befehle", auf die sich mein Kommentar bezieht, waren system_profiler und ioreg. Ich stimme zu, dass ifconfig weniger ressourcenintensiv ist.

Vielleicht kann networksetup Ihnen einige Informationen geben, die Sie suchen:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP(8) BSD-Systemmanager-Handbuch NETWORKSETUP(8)

NAME networksetup -- Konfigurationstool für Netzwerkeinstellungen in den Systemeinstellungen.

Aber es ist nicht wirklich schlank und gibt Ihnen möglicherweise weniger Informationen als ifconfig

bash-3.2$ networksetup -getinfo Ethernet Ethernet ist kein anerkannter Netzwerkdienst. ** Fehler: Die Parameter waren ungültig.

Ich würde sowohl ifconfig als auch networksetup mischen:

ifconfig

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

Netzwerkstatus

alex@smiley:~|⇒  networksetup -getinfo "Ethernet Adaptor (en0)" 
DHCP Configuration
IP address: 192.168.1.11
Subnet mask: 255.255.255.0
Router: 192.168.1.1
Client ID:  
IPv6: Automatic IPv6 
IP address: none
IPv6 Router: none 
Ethernet Address: 1c:6f:65:98:de:81

Geben Sie die gewünschten Zeilen aus beiden Tools ein. Es wäre einfach genug, die verschiedenen Zeilen zu einem einfachen Skript zusammenzufassen, um alle Informationen zusammen auszugeben.

Bitte wechseln Sie en0zu Ihrem i/f-Namen

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>
Willkommen bei Ask Different. Unter How to Answer finden Sie Tipps zum Bereitstellen von Antworten hier. Diese Informationen sind einer vorherigen Antwort sehr ähnlich. Bitte bearbeiten Sie entweder die vorhandene Antwort, um Ihre Informationen hinzuzufügen, oder erklären Sie, warum Ihre Antwort wesentlich anders oder besser ist als die bereits bereitgestellte. - Aus Bewertung