【问题标题】:nmap command to list the Mac OS x machines in networknmap 命令列出网络中的 Mac OS x 机器
【发布时间】:2021-01-07 13:02:21
【问题描述】:

我知道 Nmap 命令使用终端列出我的 WiFi 网络中的所有活动主机。 如何告诉 Nmap 只列出 mac ox IP 地址。

这可以使用 Nmap?。 我想这应该是可能的。由于 Finder -> Network 能够显示网络上其他机器的主机名。

nmap -sP 192.168.0.0/24

【问题讨论】:

标签: linux macos networking nmap network-security


【解决方案1】:

您可以使用 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:”开头时,将该行拆分为一个以“:”为分隔符的数组映射。如果映射字段模式的第三个索引与“Windows”匹配,则打印变量 ip(将其更改为 Mac 机器上显示的任何文本)

【讨论】:

  • 它将 Mac 报告为“Mac OS X”(尽管 Apple 实际上称其为“macOS”,从 10.12 版本开始)。
  • 不幸的是,nmap -A 命令只能提供我的路由器(192.168.0.1)的服务信息,但它没有显示网络上其他真实 windows 或 mac 主机的服务信息。
  • @Raman Sailopal 谢谢你的回答,这个命令正在寻找mac os x,一些原因它无法找到windows机器。 "nmap -A 192.168.0.0/24 | awk '/^Nmap 扫描报告 for/ { ip=$5 } /^Service Info:/ { split($0,map,":");if (map[3] ~ " Mac OS X" ) { print ip } }'" ➡️➡️ 请相应地编辑您的答案,您必须在答案中的命令中将字符串从“Windows”替换为“Mac OS X”。
  • 不用担心。改变了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-10
  • 2018-12-15
  • 2011-03-31
  • 2011-12-11
  • 2016-01-10
  • 1970-01-01
相关资源
最近更新 更多