Equivalente ethtool para OS X Lion

16

Além do ifconfig, existe um aplicativo / script para o OS X Lion que produz informações / resultados semelhantes ao ethtool ?

Especificamente, eu gostaria de poder consultar o seguinte:

  • informação do motorista
  • conectado desconectado
  • Rapidez
  • duplex

A saída do ethtool fica assim:

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.
fonte
1
Informações sobre os recursos que você procura seriam úteis. Não nos faça fazer a pesquisa - ajude-nos a ajudá-lo. Ninguém deve se importar mais com a resposta à sua pergunta do que você
Jaberg
2
Por sua sugestão, detalhes fornecidos.
AJ.

Respostas:

14

Minhas principais ferramentas para ler os detalhes do OSX no hardware são system_profilere ioreg. Para detalhes da interface de rede, ifconfigé a melhor aposta. Os dois primeiros mostrarão os caminhos de conexão do hardware, bem como as informações do driver do software. No seu exemplo - mídia e status fornecem a maioria dos detalhes que você listou.

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

No seu caso, você está procurando por Duplex, Velocidade e Link e, no hardware do Mac, pode obter todos esses dados ifconfig en0 | egrep [media|status]conforme desejado.

bmike
fonte
Eu verifiquei esses dois comandos, e eles parecem investigar informações extensas em todo o sistema. Prefiro evitar isso, se possível ... Gostaria de saber se há algo focado nas redes?
AJ.
2
Não concordo com este comentário, você pode facilmente replicar a saída sugerida ethtoolsimplesmente adicionando uma instrução grep da mesma maneira que você fez. ifconfig en0 | grep Media:fornece os mesmos detalhes que os três primeiros de suas saídas ethtool em um único comando e sem nenhuma informação estranha.
27412 # 13:
A única diferença restante é que os macs listam a seleção automática e a velocidade do link negociado e não informam apenas a velocidade do link. A saída da tubulação para awk e cut pode ajudar na necessidade.
bmike
@stuffe - os "dois comandos" aos quais meu comentário se refere foram system_profiler e ioreg. Concordo que o ifconfig consome menos recursos.
AJ.
4

Talvez o networksetup possa fornecer algumas informações que você está procurando:

networksetup -getinfo Ethernet
networksetup -getmedia Ethernet

NETWORKSETUP (8) BSD System Manager Manual NETWORKSETUP (8)

NAME networksetup - ferramenta de configuração para configurações de rede nas Preferências do Sistema.

Mas não é realmente enxuto e pode fornecer menos informações do que o ifconfig

iolsmit
fonte
1
bash-3.2 $ networksetup -getinfo Ethernet Ethernet não é um serviço de rede reconhecido. ** Erro: os parâmetros não eram válidos.
Mona Jalal
3

Eu misturaria ifconfig e networksetup:

ifconfig

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

status da rede

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

Cumprimente as linhas das duas ferramentas que você deseja. Seria fácil combinar as várias linhas em um script simples para gerar todas as informações juntas.

Alex
fonte
-1

Mude en0para o seu nome i / f

$ networksetup -getmedia en0
Current: autoselect
Active: 1000baseT <full-duplex>
kujiy
fonte
Bem-vindo ao perguntar diferente. Consulte Como responder para obter dicas sobre como fornecer respostas aqui. Esta informação é muito semelhante a uma resposta anterior. Edite a resposta existente para adicionar suas informações ou explique por que sua resposta é substancialmente diferente ou melhor do que a já fornecida. - Resenha
fsb