%20e%20extrair%20dados%20arp.png)
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 ip
comando 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/