Ethtool-Entsprechung für OS X Lion

16

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

Konkret möchte ich Folgendes abfragen können:

  • Fahrerinfo
  • Online Offline
  • Geschwindigkeit
  • Duplex

Die Ausgabe von ethtool sieht folgendermaßen 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
AJ.
quelle
1
Informationen zu den gesuchten Funktionen sind hilfreich. Lassen Sie uns nicht recherchieren - helfen Sie uns, Ihnen zu helfen. Niemand sollte sich mehr für die Antwort auf Ihre Frage
interessieren
2
Nach Ihrem Vorschlag, Details zur Verfügung gestellt.
AJ.

Antworten:

14

Meine wichtigsten Tools zum Lesen von OSX-Details zur Hardware sind system_profilerund ioreg. Für Details zur Netzwerkschnittstelle ifconfigist dies die beste Wahl. Die ersten beiden zeigen Ihnen Verbindungspfade für die Hardware- und Softwaretreiberinformationen. In Ihrem Beispiel stellen Medien und Status die meisten der von Ihnen aufgelisteten Details bereit.

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 greifen Sie auf Duplex, Speed ​​und Link zurück, und auf Mac-Hardware können Sie alle diese Daten ifconfig en0 | egrep [media|status]wie gewünscht abrufen .

bmike
quelle
Ich habe diese beiden Befehle überprüft und sie scheinen umfangreiche, systemweite Informationen zu prüfen. Ich würde das lieber vermeiden, wenn möglich. Ich frage mich, ob es etwas gibt, das sich auf das Networking konzentriert.
AJ.
2
Ich bin mit diesem Kommentar nicht einverstanden. Sie können die vorgeschlagene Ausgabe von ethtooleinfach replizieren, indem Sie eine grep-Anweisung auf die gleiche Weise wie Sie hinzufügen. ifconfig en0 | grep Media:liefert die gleichen Details wie die ersten 3 Ihrer ethtool-Ausgaben in einem einzigen Befehl und ohne zusätzliche Informationen.
Stuff
Der einzige verbleibende Unterschied besteht darin, dass Macs die automatische Auswahl und die ausgehandelte Verbindungsgeschwindigkeit auflisten und nicht nur die Verbindungsgeschwindigkeit melden. Die Rohrleitung von awk und cut kann dort helfen, wo es erwünscht ist.
bmike
@stuffe - die "zwei Befehle", auf die sich mein Kommentar bezieht, waren system_profiler und ioreg. Ich stimme zu, dass ifconfig weniger ressourcenintensiv ist.
AJ.
4

Vielleicht kann Ihnen networksetup einige Informationen geben, nach denen Sie suchen:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP (8) BSD System Manager Handbuch NETWORKSETUP (8)

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

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

Ich sage
quelle
1
bash-3.2 $ networksetup -getinfo Ethernet Ethernet ist kein anerkannter Netzwerkdienst. ** Fehler: Die Parameter waren ungültig.
Mona Jalal
3

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

Greife die gewünschten Zeilen aus beiden Werkzeugen heraus. Es wäre einfach genug, die verschiedenen Zeilen in einem einfachen Skript zu kombinieren, um alle Informationen zusammen auszugeben.

Alex
quelle
-1

Bitte ändern Sie en0Ihren I / F-Namen

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>
kujiy
quelle
Willkommen bei Ask Different. Bitte sehen wie man Antwort für Tipps, Antworten hier bietet. Diese Information ist einer vorherigen Antwort sehr ähnlich. 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 angegebene. - Aus der Bewertung
fsb