Analisando uma rede e SSH cada IP até eu entrar no SSH

0

Normalmente, eu usaria o SSH nessa máquina usando:

ssh [email protected]

Esse servidor na minha rede é forçado a usar o DHCP na sub-rede ( 134.96.90.0 ). E toda vez que ele desliga, eu tenho que ir encontrar o IP possível usando:

nmap -sP 123.45.67.0/24

Quais resultados:

Starting Nmap 6.40 ( http://nmap.org ) at 2015-10-08 11:13 CEST
Nmap scan report for turning.some-name.de (123.45.67.2)
Host is up (0.00033s latency).
Nmap scan report for drucker-sek.some-name.de(123.45.67.19)
Host is up (0.0010s latency).
Nmap scan report for dhcp90-20.some-name.de (123.45.67.22)
Host is up (0.00036s latency).
Nmap scan report for dhcp90-21.some-name.de (123.45.67.27)

Então eu vou e discuto isso manualmente:

ssh [email protected]
ssh [email protected]
ssh [email protected]
ssh [email protected]

Então, finalmente, sei que está atribuído a 123.45.67.22 .

Se eu não posso dar um IP estático para o servidor, existe uma maneira de automatizar essa varredura de rede louca + vários SSH? (Imagine que eu tenho > 100 máquinas na rede)

Eu poderia fazer isso para obter o IP:

$ nmap -sP 123.45.67.0/24 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' 

Mas como eu escrevo o a-loop ou algo assim para o ssh e paro quando eu ssh-ed com sucesso no servidor?

Eu tenho acesso total a este servidor, mas não acesso ao administrador de rede, é como conectar qualquer laptop à rede, mas neste caso o laptop é uma máquina cara. Minha distro:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

Eu também tentei ssh o nome da máquina de outra máquina dentro da sub-rede:

$ ssh machine-name.some-name.de
ssh: Could not resolve hostname machine-name.some-name.de: Name or service not known

Mas no próprio servidor, quando eu faço o ssh + tab, vejo

::1                         
ff02::1                     
ff02::2                     
ip6-allnodes                
ip6-allrouters
ip6-localhost
ip6-loopback
machine-name
machine-name.some-name.de

Além disso, eu tenho avahi-daemon em execução, mas parece que a transmissão é controlada no lado da rede, apenas várias outras máquinas conseguem transmitir seus nomes, por exemplo, drucker-sek.some-name.de e turning.some-name.de :

$ sudo avahi-daemon
Daemon already running on PID 824
    
por alvas 08.10.2015 / 09:39

1 resposta

1

Que tal algo como:

#! /bin/bash
for each in 'nmap -sP 123.45.67.0/24 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' '
do

    echo  $each
    nc -w 2 $each 22

    if [ $? -eq 0 ]
    then
        break;
    fi

done
ssh $each

Este script permitirá 2 segundos para ver se o SSH responde no endereço IP dado por sua vez, e quando chegar à primeira conexão bem-sucedida, ele automaticamente sairá do loop e tentará o ssh.

Se você estiver na mesma sub-rede do PC que está procurando, existe uma maneira mais fácil de encontrar o endereço IP - use a tabela ARP para corresponder ao endereço MAC do seu cartão!

    
por 08.10.2015 / 10:53