我知道使用终端的 Nmap 命令来列出我的 WiFi 网络中的所有活动主机。如何告诉 Namp 仅列出 mac ox IP 地址。
这可以使用 Nmap?。我想应该是可以的。由于 Finder -> Network 能够显示网络上其他机器的主机名。
nmap -sP 192.168.0.0/24
你可以使用 nmap 的 -A 标志,然后通过管道连接到 awk 以仅打印你需要的 IP 地址。我的网络上没有 Mac 机器,但以 Windows 机器为例:
nmap -A 192.168.0.0/24 | awk '/^Nmap scan report for/ { ip=$5 } /^Service Info:/ { split($0,map,":");if ( map[3] ~ "Mac OS X" ) { print ip } }'
获取 nmap 的输出,然后,对于以“Nmap scan report for”开头的每一行,将第 5 个空格分隔的字段存储在变量 ip 中。然后当一行以“Service Info:”开头时,将该行拆分为以“:”为分隔符的数组映射。如果 map字段模式的第三个索引与“Windows”匹配,则打印变量 ip(将其更改为 Mac 机器上显示的任何文本)
它将 Mac 报告为“Mac OS X”(尽管从 10.12 版开始,Apple 实际上称其为“macOS”)。
不幸的是,nmap -A 命令只能提供我的路由器 (192.168.0.1) 的服务信息,但它没有显示网络上其他真实 windows 或 mac 主机的服务信息。
@Raman Sailopal 感谢您的回答,此命令正在寻找 mac os x,某些原因无法找到 Windows 机器。"nmap -A 192.168.0.0/24 | awk '/^Nmap scan report for/ { ip=$5 } /^Service Info:/ { split($0,map,":");if ( map[3] ~ " Mac OS X" ) { print ip } }'" ➡️➡️ 请相应地编辑您的答案,您必须将答案中的命令中的字符串从“Windows”替换为“Mac OS X”。
不用担心。改变了。