许多高级用户经常需要查找和列出网络上的所有主机通常用于IP发现连接到远程计算机或某些其他系统管理或网络管理目的查找所有主机和网络上的主机IP地址的最简单方法之一是使用nmap命令行工具
Nmap与包括Mac OSWindows和Linux在内的所有主要操作系统兼容尽管MacOS默认未预安装Nmap 但您可以先安装Homebrew然后再安装nmap(brew install nmap)也可以将nmap安装在直接在Mac中没有软件包管理器因此我们将专注于使用nmap查找并列出网络上的所有主机并且假设您的特定Mac上已经具有nmap如果由于某种原因无法使用nmap则可能会发现使用arp查看LAN设备的IP地址很有用可作为替代解决方案
准备使用nmap列出网络上的所有主机IP地址吗这很容易这是您需要做的所有事情:
启动终端(如果尚未启动)
输入以下命令字符串并根据需要替换您的网络IP和范围:
nmap -sn 192.168.1.0/24
点击Return键等待一两分钟以查看网络上检测到的主机
nmap的命令输出可能类似于以下内容其中检测并显示了网络上找到的设备和硬件的主机IP地址:
% nmap -sP 192.168.1.0/20
Starting Nmap ( https://nmap.org ) at 2022-06-15 16:24 PDT
Nmap scan report for 192.168.1.1
Host is up (0.0063s latency).
Nmap scan report for 192.168.1.2
Host is up (0.019s latency).
Nmap scan report for 192.168.1.9
Host is up (0.0051s latency).
Nmap scan report for 192.168.1.11
Host is up (0.021s latency).
Nmap scan report for 192.168.1.12
Host is up (0.0211s latency).
Nmap scan report for 192.168.1.15
Host is up (0.022s latency).
Nmap scan report for 192.168.1.25
Host is up (0.024s latency).
Nmap done: 4096 IP addresses (7 hosts up) scanned in 43.67 seconds
本质上这是如何工作的nmap尝试对网络上的主机IP范围执行ping操作以查看它们是否存在是否存在并做出响应并在nmap结果中返回它们;如果不响应或不做出响应则不会列出这就引出了一个明显的问题:如何检测网络上不响应ping和ICMP请求的主机(因为某些用户在MacWindows或Linux计算机上有意禁用了ICMP请求响应)但是您可以这样做可能必须在网络上进行端口扫描而不是依靠ping
您也可以使用-sP标志如果-sn失败该标志可能会在旧版本的nmap上运行无论如何结果应相同:
nmap -sP 192.168.1.0/24
nmap是目前最好的Homebrew软件包之一因此如果您对本文感兴趣但还没有那是启动Homebrew并安装nmap的一个很好的理由当然如果您不知道如何安装Homebrew也可以学习如何安装