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

Macos 如何从IP地址中查找网络接口名称,macos,shell,terminal,command-line-interface,Macos,Shell,Terminal,Command Line Interface,终端命令是什么,或者如何从IP地址查找网络接口名称(如en0、en1、en3、en8等)。 我有一个IP地址,需要找到IP分配给macOS中的哪个网络接口 我现在不是在电脑前,而是在电脑前 ifconfig | grep -b1 "youriphere" | awk 'NR==1{print $1}' 应该会让你进入一个大概的状态。正确的方法是: route -n get "yourIPhere" | awk '/interface: / {print $2}' 其他答案大多忽略了一个问题。

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

我现在不是在电脑前,而是在电脑前

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

应该会让你进入一个大概的状态。

正确的方法是:

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

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

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}'

在macOS中,但你标记了Ubuntu和Linux。是哪一个?我猜
ifconfig
可能会给你一些结果?是的。。ifconfig将显示这一点,但也会显示其他内容。但是我只想要接口名en1,en2,例如Xxxxx 10.20.30.40结果应该是en1或en2,而不是。。iost显示结果-inet6,如果我删除awk,其将显示-inet6 xxx::xx:xxxxx:XXXXXX前缀64安全范围ID 0xe inet 20.30.40.540网络掩码0xfffffe00广播100.100.100其未给出整行