如何扫描本地网络以查找可使用 SSH 的计算机?

如何扫描本地网络以查找可使用 SSH 的计算机?

我经常在家里使用一台计算机,我想通过 SSH 连接到另一台计算机,但经常不知道要连接的计算机的 IP 地址。有没有办法从命令行扫描本地网络,以便找到要连接的计算机?

答案1

使用 ”nmap“-这将告诉您网络上哪些主机处于启动状态,以及哪些主机的 22 端口处于打开状态。您可以将其与其他一些工具(如 grep)结合使用,以根据需要生成更有针对性的输出。

注意:只能在您的网络上执行此操作。在其他人的网络上运行 nmap 或类似程序被认为是不礼貌的行为。

sudo nmap -p 22 192.168.0.0/24

答案2

您可以从命令行使用:

sudo nmap -sS -p 22 192.168.10.0/24

替代网络上的本地地址空间。当我插入无头式 Raspberry Pi 并想要找到 ssh 连接的位置时,我有时会使用此功能。

答案3

nmap -p 22 --open -sV 192.168.178.0/24

答案4

我建议不要只检查端口 22。并非所有 SSH 服务器都默认使用端口 22。例如,我的 Android 手机上的 Termux 中的 OpenSSH 使用端口 8022。

相反,使用nmap 强大的版本检测功能,并检查所有端口:

% nmap -sV 192.168.68.0/24 | grep -wE '(scan report|ssh)'
Nmap scan report for 192.168.68.1
22/tcp   open  ssh       Dropbear sshd (protocol 2.0)
Nmap scan report for 192.168.68.100
22/tcp open  ssh     Dropbear sshd 2015.67 (protocol 2.0)
Nmap scan report for 192.168.68.101
Nmap scan report for 192.168.68.103
Nmap scan report for 192.168.68.105
8022/tcp open  ssh     OpenSSH 9.1 (protocol 2.0)

此外,它还是常用伎俩系统管理员可能会将 SSH 等服务更改为奇怪的高端口以试图隐藏它。虽然这并不适用于您的情况,因为您可能管理自己的 LAN 机器。

相关内容