如何从IP地址中查找网络接口名称

时间:2018-04-11 17:30:13

标签: macos shell terminal command-line-interface

什么是终端命令或如何从IP地址中找到网络接口名称(例如en0,en1,en3 en8等)。 我有一个IP地址,需要找到IP分配给macOS中的哪个网络接口。

4 个答案:

答案 0 :(得分:0)

我现在不在电脑前,但是像

那样
ifconfig | grep -b1 "youriphere" | awk 'NR==1{print $1}'

应该让你进入球场。

答案 1 :(得分:0)

正确的方法是:

route -n get "yourIPhere" | awk '/interface: / {print $2}'

答案 2 :(得分:0)

 ip a |grep <ip> |awk '{print $NF}'
 #or
 ip r |grep <ip> |cut -d " " -f 3

答案 3 :(得分:0)

其他答案大多忽略了一个问题。可能会匹配相似的IP,例如,如果网络接口为 172.16.1.100 ,则IP为 72.16.1.10 也要匹配。
这是我的解决方案:

ifconfig | grep -PB1 "[: ]72.16.1.10[^\d]" | grep -o "^\w*"
or
ifconfig | grep -PB1 "[: ]72.16.1.10[^\d]" | awk -F'[: ]' 'NR==1{print $1}'