comando ip no terminal Mac OS X

64

Eu uso o comando ip linkno Linux. Agora eu quero isso no Mac OS X, mas o terminal do Mac OS X não tem ip. O que devo usar?

Ariano
fonte
Acho que se a comunidade Linux quiser que 'ip' substitua 'ifconfig', seria útil que 'ip' estivesse disponível no Unix e no Linux.
Scott Skiles

Respostas:

89

Você pode usar brewpara instalar iproute2mac. Na verdade, é um wrapper Python que fornece uma API muito semelhante que você provavelmente achará familiar à ipferramenta incluída iproute2no Linux.

Instalação

$ brew install iproute2mac
==> Installing iproute2mac from brona/homebrew-iproute2mac
==> Downloading https://github.com/brona/iproute2mac/archive/v1.0.3.zip
######################################################################## 100.0%
🍺  /usr/local/Cellar/iproute2mac/1.0.3: 4 files,  24K, built in 2 seconds

Uso

Uma vez instalado, você receberá uma ferramenta de linha de comando que, para todos os efeitos, imita o ipcomando no Linux.

$ ip
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip -V
where  OBJECT := { link | addr | route | neigh }
       OPTIONS := { -4 | -6 }

iproute2mac
Homepage: https://github.com/brona/iproute2mac
This is CLI wrapper for basic network utilities on Mac OS X inspired with iproute2 on Linux systems.
Provided functionality is limited and command output is not fully compatible with iproute2.
For advanced usage use netstat, ifconfig, ndp, arp, route and networksetup directly.

Exemplos

Mostrar endereços IP na interface en0.

$ ip addr show en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 54:46:12:fc:45:12
    inet6 fe80::3636:3bff:fecf:1294/64 scopeid 0x4
    inet 192.168.1.5/24 brd 192.168.1.255 en0

Mostrar detalhes sobre o link en1.

$ ip link show en1
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether 72:00:08:81:d2:10
    media: autoselect <full-duplex>
    status: inactive

Referências

slm
fonte
6

Use o comando normal para unix como sistemas: ifconfig.

(O Linux também usa ifconfig, mas algumas das ferramentas têm versões mais recentes. ipÉ uma delas que um dia substituirá o antigo ifconfig.)

Hennes
fonte
Como eu pude instalar este comando ip no Mac OS? Eu quero algum recurso como adicionar MAC-VLAN!
Arian12
Eu não tenho certeza que você pode. O mundo inteiro (bem, exceto janelas que usam ipconfig e alguns linuxes modernos que usam ip e ifconfig) usa ifconfig. Isso inclui o OS X. Não tenho mac para testar, mas observaria os comandos vconfig add n0 42(configure a VLAN 42 para a interface de rede EN0) seguidos por algo parecido ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up.
Hennes 12/12
11
ifconfiggera muitas linhas desnecessárias. Se IP é tudo o que você precisa, use-o ifconfig | grep inet.
Akseli Palen
Além disso, o ifconfig foi descontinuado: google.de/…
oleiade 2/16
3

Há uma maneira mais simples sem instalar nenhuma ferramenta:

$ which ifconfig
/sbin/ifconfig

$ ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2
10.16.45.123
Andrei Sura
fonte
0

Não há comando ip no Mac. Obtê-lo de fermentação ou uso:

ifconfig en0| grep "inet[ ]" | awk '{print $2}'

Você pode criar um alias da ~/.bash_profileseguinte maneira:

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
Loke
fonte