如何在Mac OSX中获取默认网关
要获取相关联的IP地址列表,您可以使用netstat命令。
netstat -rn
这里提供了一个长长的IP地址列表,而要找到所需的字段并不容易。以下是样例结果:
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.195.1 UGSc 17 0 en2
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 254107 lo0
169.254 link#7 UCS 0 0 en2
192.168.195 link#7 UCS 3 0 en2
192.168.195.1 0:27:22:67:35:ee UHLWIi 22 397 en2 1193
192.168.195.5 127.0.0.1 UHS 0 0 lo0
More result is truncated.......
网关的IP地址在第一行,第一列带有default。
要仅显示所选结果的行,我们可以使用grep命令与netstat一起使用。
netstat -rn | grep 'default'
这个命令会过滤并显示那些结果中包含"default"的行。在这种情况下,你可以看到以下结果:
default 192.168.195.1 UGSc 14 0 en2
如果您只对网关的IP地址感兴趣而不是其他信息,您可以使用awk进一步筛选结果。awk命令会在输入结果中匹配模式并显示输出。当您直接在某些程序或批处理作业中使用结果时,这可能很有用。netstat -rn | grep 'default' | awk '{print $2}'
awk 命令会匹配并打印文本结果中的第二列。因此,最终结果看起来像这样:
192.168.195.1
在这种情况下,netstat显示所有结果,grep仅选择其中包含“default”的行,并且awk进一步匹配该模式以显示文本中的第二列。
您可以使用route -n get default命令获取所需的结果。完整命令是
route -n get default | grep 'gateway' | awk '{print $2}'
这些命令在Linux和Unix系统以及MAC OS中都可以很好地运行。