如何在本地网络中扫描支持SSH的计算机?


34

我经常在家里的一台计算机上,并且想通过SSH另一台计算机,但是常常不知道我要连接的计算机的IP地址。是否可以从命令行扫描本地网络,以便找到要连接的计算机?


>但通常不知道我要连接的IP地址,这不是DNS发明的目的吗?
克里斯·麦肯

1
如果您不知道哪些计算机连接到房屋的网络,我认为您可能会遇到问题...
Massimo 2012年

1
...以及您如何知道自己选择了正确的人?是时候整理一下您的IP地址/名称查找了。
symcbean

2
为捍卫安德鲁:是的,最好在DHCP租约中设置不变的IP,并使用本地名称。但是,考虑一下现实情况,我只是将一台无头的Ubuntu PC携带到办公室并连接了它。对于第一个连接,我想找到IP而无需携带键盘并对其进行监视。对于symcbean的问题,基于主板制造商的MAC地址解码(由nmap / Zenmap自动完成)和所使用的操作系统,很容易知道正确的PC。有时您不知道IP,需要找到它。
Phrogz

Answers:


23

使用“ nmap ”-这将告诉您网络上的哪些主机,以及哪些端口22已打开。您可以将其与其他一些工具(例如grep)结合使用,以根据需要产生更多目标输出。

注意:仅在您的网络上执行此操作。在其他人的网络上运行nmap或其等效项被认为是错误的形式。


bluebitter.de/portscn2.htm如果您想要比nmap
Gk

4
这个公认的答案甚至没有简单的示例行
hmedia1

74

在命令行中,您可以使用:

sudo nmap -sS -p 22 192.168.10.0/24

替代网络上的本地地址空间。当我插入无头rasberry pi并想找到ssh的位置时,有时会用到它。


3
正是导致我问这个问题的用例之一。谢谢!
安德鲁(Andrew)

+1也用于树莓派,但:sudo nmap -sS -p 22 192.168.10.0/24
Gtx

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

这与其他答案有何不同?我们怎么知道我的本地网络?
小鸡

1
它不需要sudo,可以与Android NetworkMapper一起使用
Vadym Tyemirov,

2
我更喜欢这个答案。这次添加--open从输出中去除了 很多杂物,实际上向我展示了我正在寻找的机器。
Duncan Jones

3

您可以在端口22上手动远程登录每个IP。

如果成功,您应该看到OpenSSH版本字符串。

检查子网中每个IP的过程可以通过'for'指令完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.