You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在macOS中通过IP地址查找对应网络接口名称(终端命令方法)

在macOS中通过IP地址查找对应网络接口的方法

嘿,在macOS上要定位某个IP归属的网络接口(比如en0、en1这类),这几个终端命令我平时排查网络问题时经常用,分享给你:

1. 用ifconfig配合过滤快速定位

ifconfig是最经典的网络接口查看工具,结合grep可以快速缩小范围。假设你要找的IP是192.168.1.100,执行:

ifconfig | grep -B2 "192.168.1.100"

这里的-B2表示显示匹配到IP行的前2行,前几行里就会包含接口名称(比如en0:)。如果是IPv6地址,把搜索的IP换成对应的IPv6地址即可,注意有些IPv6会带%en0这类后缀,也可以直接搜这个后缀。

2. 用scutil查看更详细的网络接口信息

scutil是macOS自带的系统配置工具,能输出更规整的网络信息。执行:

scutil --nwi | grep -A5 -B5 "192.168.1.100"

--nwi参数会列出所有网络接口的详细状态,-A5 -B5会显示匹配IP的前后5行内容,你能清楚看到该IP对应的接口名称、子网掩码、网关等信息,适合需要更多上下文的场景。

3. 用awk直接输出接口名称(懒人必备)

如果不想手动找,用awk处理ifconfig的输出,可以直接得到接口名称:

ifconfig | awk '/inet / && $2 == "192.168.1.100" {print substr($1, 1, length($1)-1)}'

这个命令的逻辑是:找到包含inet 的行,且第二列是目标IP时,截取第一列(接口名,比如en0:)并去掉末尾的冒号,直接输出接口名称,一步到位。如果是IPv6,把inet 换成inet6 ,并调整匹配的字段(比如IPv6的地址通常在第三列,把$2改成$3即可)。

内容的提问来源于stack exchange,提问作者Skull

火山引擎 最新活动