gpt4 book ai didi

cygwin - 使用 Cygwin 获取 Mac 地址和主机名

转载 作者:行者123 更新时间:2023-12-02 09:51:19 25 4
gpt4 key购买 nike

我需要编写一个脚本来获取本地计算机上的主机名和所有物理地址。它将在多台机器上运行。经过一些研究,我发现我可以从 $HOSTNAME 变量获取主机名,并且我还找到了 getmac 命令。getmac 的问题是它返回所有 mac 地址(环回、逻辑等),但没有任何关于它使用的接口(interface)的线索。这是我的示例输出:

2C-27-D7-40-62-7A   \Device\Tcpip_{A04C5C9D-CD41-48D1-8EC8-54128C70835C}
32-9D-DE-C7-3F-6D \Device\Tcpip_{EB38E492-9BEF-4F8F-98E6-C08716920461}
02-90-4C-4F-4F-50 \Device\Tcpip_{42DB7C91-BB9E-4BF4-B374-289F1BBA7AC6}

它给了我 3 个 mac 地址,其中只有一个是物理地址,但我不知道如何决定是哪一个。你能帮我一下吗?

最佳答案

既然你提到了 cygwin,“awk”就可以解决它......对于一般的 Windows 执行,甚至可以通过 AWK 单独下载 GNU-Win32 utils。

当您执行“$ getmac -V -FO LIST”时,它将显示网络设备及其名称,然后您可以按如下方式获取所需的 MAC 地址:

[以太网卡]

“本地连接”文本标记卡 ~

$ getmac -V -FO CSV | awk -F ',' '{if(match($1,"Local Area Connection"))print $3;}'

[无线卡]

“无线网络连接”文本标记卡 ~

$ getmac -V -FO CSV | awk -F ',' '{if(match($1,"Wireless Network Connection"))print $3;}'

如果您有多个以太网/无线卡,名称可能会稍有变化...您可以使用“$getmac -V”检查实际名称并根据需要进行匹配。

关于cygwin - 使用 Cygwin 获取 Mac 地址和主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com