Equivalente a ethtool para OS X Lion

16

Además de ifconfig, ¿hay una aplicación / script para OS X Lion que produzca información / salida similar 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
AJ
fuente
1
La información sobre las características que está buscando sería útil. No nos obligue a hacer la investigación, ayúdenos a ayudarlo. Nadie debería preocuparse más por la respuesta a su pregunta que usted
jaberg
2
Por su sugerencia, detalles proporcionados.
AJ.

Respuestas:

14

Mis herramientas principales para leer los detalles de OSX en hardware son system_profilery ioreg. Para detalles de la interfaz de red, ifconfiges la mejor apuesta. Los dos primeros le mostrarán las rutas de conexión para el hardware y 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 Duplex, Speed ​​y Link y en el hardware de Mac puede obtener todos esos datos ifconfig en0 | egrep [media|status]según lo desee.

bmike
fuente
Verifiqué estos dos comandos, y parecen sondear una amplia información de todo el sistema. Prefiero evitar eso si es posible ... Me pregunto si hay algo centrado en las redes.
AJ.
2
No estoy de acuerdo con este comentario, puede replicar fácilmente la salida sugerida de 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 salidas ethtool en un solo comando y sin ninguna información extraña.
estuffe
La única diferencia que queda es que las Mac enumeran la selección automática y la velocidad de enlace negociada y no simplemente informan solo la velocidad de enlace. La salida de tubería a awk y corte puede ayudar a que se desee.
bmike
@stuffe: los "dos comandos" a los que se refiere mi comentario fueron system_profiler e ioreg. Estoy de acuerdo en que ifconfig consume menos recursos.
AJ.
4

Tal vez la configuración de red puede brindarle la información que está buscando:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

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

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

Pero no es realmente delgado y puede darle menos información que ifconfig

Iolsmit
fuente
1
bash-3.2 $ networksetup -getinfo Ethernet Ethernet no es un servicio de red reconocido. ** Error: los parámetros no eran válidos.
Mona Jalal
3

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

Saque las líneas de las dos herramientas que desee. Sería bastante fácil combinar las diversas líneas en un script simple para generar toda la información.

Alex
fuente
-1

Por favor cambie en0a su nombre de I / F

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>
kujiy
fuente
Bienvenido a Ask Different. 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 se proporcionó. - De la opinión
fsb