SSH para host remoto (roteadores da série edgemarc 4200 ou 4500) e extrair dados arp

SSH para host remoto (roteadores da série edgemarc 4200 ou 4500) e extrair dados arp

Estou tentando pensar em um método para fazer isso há dias, mas ainda não descobri nada. Idealmente, é isso que estou procurando fazer:

Em uma máquina Windows XP, preciso abrir uma conexão SSH com um host remoto, enviar o comando arp e extrair os resultados de texto do comando de volta para uso no cliente. Precisarei analisar esses dados e, de preferência, produzir uma matriz 2D de endereços IPs e MAC. Não haverá chaves compartilhadas, tudo isso é feito com nome de usuário e senha que sempre serão diferentes, eles precisarão ser inseridos no comando através de variáveis ​​​​que serão extraídas de um banco de dados usando um script autoit baseado no ip da WAN de o host remoto.

Agora, a análise real dos dados e a criação do array serão fáceis se eu conseguir apenas obter o texto da tabela arp. Existe alguma maneira de fazer ssh para um host remoto, executar um comando e retornar os dados desse comando para o cliente em um script em lote ou script perl (está tudo bem se ele gravar o texto em um arquivo, posso lê-lo de o arquivo depois, só preciso dele para chegar ao cliente)?

Responder1

Usando PuTTY plink:

plink <server> arp

Se isso não funcionar:

echo arp | plink <server>

Se o sistema estiver rodando Linux e o ipcomando estiver disponível, use-o. O formato é mais fácil de analisar:

plink <server> /sbin/ip -o -f inet neigh

plink <server> /sbin/ip -o -f inet6 neigh

Responder2

Usando PuTTY, você pode especificar o nome de usuário e a senha da seguinte forma:

  • putty -pw senha nomedeusuário@nomedohost

Além disso, a opção de linha de comando “-m” também permitirá que você especifique um arquivo de texto para ler comandos para execução no servidor após a conexão.

Você pode baixar o PuTTY aqui:

  PuTTY (gratuito e de código aberto)
  http://www.chiark.greenend.org.uk/~sgtatham/putty/

informação relacionada