Answers:
您可以使用brew
安装iproute2mac
。它实际上是一个Python包装器,提供了非常相似的API,您可能会对Linux ip
附带的工具非常熟悉iproute2
。
$ 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
安装完成后,您将获得一个命令行工具,该工具可以出于所有目的模拟ip
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.
在接口en0上显示IP地址。
$ 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
显示有关链接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
对类似Unix的系统使用正常的命令:ifconfig
。
(Linux也使用ifconfig,但是其中一些工具具有较新的版本。ip
其中一种是有一天会取代旧的ifconfig的工具。)
vconfig add n0 42
(为网络接口EN0配置VLAN 42),后跟类似的命令ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up
。
ifconfig
输出很多不必要的行。如果IP是您所需要的一切,则ifconfig | grep inet
改为使用。
有一种不安装任何工具的简单方法:
$ which ifconfig
/sbin/ifconfig
$ ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2
10.16.45.123