Equivalente de ethtool para OS X Lion

Aparte de ifconfig, ¿hay alguna aplicación/secuencia de comandos para OS X Lion que produzca resultados/información similares a ethtool ?

Específicamente, me gustaría poder consultar lo siguiente:

  • información del conductor
  • conectado desconectado
  • velocidad
  • dúplex

La salida de ethtool se ve así:

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
La información sobre las características que está buscando sería útil. No nos obligues a investigar, ayúdanos a ayudarte. A nadie debería importarle más la respuesta a tu pregunta que a ti.
Según su sugerencia, se proporcionan detalles.

Respuestas (4)

Mis herramientas principales para leer los detalles de OSX en el hardware son system_profilery ioreg. Para los detalles de la interfaz de red, ifconfiges la mejor opción. Los dos primeros le mostrarán las rutas de conexión para el hardware, así como la información del controlador del software. En su ejemplo, los medios y el estado proporcionan la mayoría de los detalles que enumeró.

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

En su caso, está buscando Dúplex, Velocidad y Enlace, y en el hardware de Mac puede obtener todos esos datos ifconfig en0 | egrep [media|status]como desee.

Revisé estos dos comandos y parecen probar información extensa de todo el sistema. Prefiero evitar eso si es posible... Me pregunto si hay algo centrado en la creación de redes.
No estoy de acuerdo con este comentario, puede replicar fácilmente el resultado sugerido ethtoolsimplemente agregando una declaración grep de la misma manera que lo hizo. ifconfig en0 | grep Media:proporciona los mismos detalles que los primeros 3 de sus resultados de ethtool en un solo comando y sin ninguna información superflua.
La única diferencia que queda es que los mac enumeran la selección automática y la velocidad del enlace negociada y no solo informan la velocidad del enlace. Si se desea, la tubería de salida a awk y cut puede ayudar.
@stuffe: los "dos comandos" a los que se refiere mi comentario fueron system_profiler e ioreg. Estoy de acuerdo en que ifconfig requiere menos recursos.

Tal vez networksetup pueda brindarle la información que está buscando:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP(8) Manual del administrador del sistema BSD NETWORKSETUP(8)

NAME networksetup: herramienta de configuración para la configuración de red en Preferencias del Sistema.

Pero no es realmente esbelto y puede brindarle menos información que ifconfig

bash-3.2$ networksetup -getinfo Ethernet Ethernet no es un servicio de red reconocido. ** Error: Los parámetros no eran válidos.

Mezclaría ifconfig y networksetup:

ifconfig

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

Estado de la red

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

Extraiga las líneas que desee de ambas herramientas. Sería bastante fácil combinar las distintas líneas en un script simple para generar toda la información en conjunto.

Por favor cambie en0a su nombre i/f

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>
Bienvenido a Preguntar Diferente. Consulte Cómo responder para obtener consejos sobre cómo proporcionar respuestas aquí. Esta información es muy similar a una respuesta anterior. Edite la respuesta existente para agregar su información o explique por qué su respuesta es sustancialmente diferente o mejor que la que ya proporcionó. - De la revisión