Como verificar na rede local computadores com SSH?

34

Frequentemente, estou em um computador em minha casa e gostaria de fazer o SSH para outro, mas muitas vezes não sei o endereço IP daquele a quem quero me conectar. Existe uma maneira, na linha de comando, de verificar a rede local para encontrar o computador ao qual quero me conectar?

Andrew
fonte
> mas geralmente não sabem o endereço IP daquele a quem quero me conectar. Não foi para isso que o DNS foi inventado?
Chris McKeown
1
Se você não sabe quais computadores estão conectados à sua casa rede 's, eu acho que você pode ter um problema ...
Massimo
1
... e como você sabe que está se metendo no caminho certo? Hora de resolver seus endereços IP / pesquisas de nome.
symcbean
2
Em defesa de Andrew: sim, é desejável definir IPs inalteráveis ​​na concessão de DHCP e ter nomes locais. No entanto, considere o caso do mundo real em que eu carreguei um PC Ubuntu sem cabeça no escritório e o liguei. Para a primeira conexão, eu queria encontrar o IP sem carregar um teclado e monitor. Para a pergunta do symcbean, era fácil conhecer o PC correto com base na decodificação de endereço MAC (feita automaticamente pelo nmap / Zenmap) para o fabricante da placa-mãe e o sistema operacional usado. Às vezes você não conhece o IP e precisa encontrá-lo.
Phrtz12

Respostas:

23

Use " nmap " - isto informará quais hosts estão em uma rede e, de fato, quais têm a porta 22 aberta. Você pode combiná-lo com algumas outras ferramentas (como grep) para produzir uma saída mais direcionada, se necessário.

Nota: faça isso apenas na SUA rede. Executar o nmap ou seus equivalentes na rede de outra pessoa é considerado uma má forma.

Tom Newton
fonte
bluebitter.de/portscn2.htm Use o BluePortScan se quiser algo mais simples que o nmap
Gk.
4
Esta resposta aceita não tem sequer uma simples linha de exemplo
hmedia1
74

Na linha de comando, você pode usar:

sudo nmap -sS -p 22 192.168.10.0/24

Substitua o espaço de endereço local na sua rede. Às vezes uso isso quando conecto um pi rasberry sem cabeça e quero descobrir para onde ssh.

Joe ZzZ
fonte
3
Exatamente um dos casos de uso que me levou a fazer essa pergunta. Obrigado!
Andrew
+1 Também usando para raspberry pi, mas:sudo nmap -sS -p 22 192.168.10.0/24
Gtx 14/02
26
nmap -p 22 --open -sV 192.168.178.0/24
Motsel
fonte
Como isso é diferente das outras respostas? Como sabemos que essa é minha rede local?
pintainhos
1
Ele não requer sudoe pode ser usado com o Android NetworkMapper
Vadym Tyemirov
2
Eu prefiro esta resposta. A adição --openremoveu muito lixo da saída e realmente me mostrou a máquina que eu estava procurando.
Duncan Jones
3

Você pode telnetar manualmente cada ip na porta 22.

Se for bem-sucedido, você deverá ver a string da versão do OpenSSH.

O processo de verificação de cada ip na sub-rede pode ser feito por meio da diretiva 'for'.

Hector Luis Gimbatti
fonte