ethtool Equivalent per OS X Lion


16

Oltre a ifconfig, esiste un'app / script per OS X Lion che produce output / informazioni simili a ethtool ?

In particolare, vorrei essere in grado di interrogare quanto segue:

  • informazioni sul conducente
  • in linea non in linea
  • velocità
  • doppio

L'output di ethtool è simile al seguente:

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
Le informazioni sulle funzionalità che stai cercando sarebbero utili. Non farci fare la ricerca, aiutaci ad aiutarti. A nessuno dovrebbe interessare di più la risposta alla tua domanda di te
jaberg

2
Su suggerimento, dettagli forniti.
AJ.

Risposte:


14

I miei strumenti principali per la lettura dei dettagli OSX sull'hardware sono system_profilere ioreg. Per i dettagli dell'interfaccia di rete, ifconfigè la scommessa migliore. I primi due mostreranno i percorsi di connessione per l'hardware e le informazioni sul driver del software. Nel tuo esempio - media e stato forniscono la maggior parte dei dettagli che hai elencato.

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

Nel tuo caso, stai afferrando Duplex, Speed ​​e Link e su hardware Mac puoi ottenere tutti quei dati da ifconfig en0 | egrep [media|status]come desideri.


Ho controllato entrambi questi comandi e sembrano sondare informazioni complete a livello di sistema. Preferirei evitarlo, se possibile ... Mi chiedo se ci sia qualcosa di focalizzato sulla rete?
AJ.

2
Non sono d'accordo con questo commento, puoi facilmente replicare l'output suggerito ethtoolsemplicemente aggiungendo un'istruzione grep come hai fatto tu. ifconfig en0 | grep Media:fornisce gli stessi dettagli dei primi 3 degli output di ethtool in un singolo comando e senza alcuna informazione estranea.
stuffe,

L'unica differenza rimasta è che i mac elencano la selezione automatica e la velocità del collegamento negoziata e non segnalano semplicemente solo la velocità del collegamento. Il piping dell'output su awk e cut può aiutare a raggiungere i risultati desiderati.
bmike

@stuffe - i "due comandi" a cui si riferisce il mio commento erano system_profiler e ioreg. sono d'accordo che ifconfig richiede meno risorse.
AJ.

4

Forse networksetup può darti alcune informazioni che stai cercando:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP (8) Manuale del gestore di sistema BSD NETWORKSETUP (8)

NAME networksetup - strumento di configurazione per le impostazioni di rete in Preferenze di Sistema.

Ma non è davvero snello e potrebbe darti meno informazioni di ifconfig


1
bash-3.2 $ networksetup -getinfo Ethernet Ethernet non è un servizio di rete riconosciuto. ** Errore: i parametri non erano validi.
Mona Jalal,

3

Vorrei mescolare sia ifconfig che networksetup:

ifconfig

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

networkstatus

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

Elimina tutte le linee da entrambi gli strumenti che desideri. Sarebbe abbastanza facile combinare le varie righe in un semplice script per produrre insieme tutte le informazioni.


-1

Modifica il en0tuo nome i / f

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>

Benvenuti a chiedere diverso. Consulta Come rispondere per suggerimenti su come fornire risposte qui. Questa informazione è molto simile a una risposta precedente. Modifica la risposta esistente per aggiungere le tue informazioni o spiega perché la tua risposta è sostanzialmente diversa o migliore di quella già fornita. - Dalla recensione
fsb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.