Executando o tcpdump remotamente ao armazenar localmente a captura de pacotes

0

Eu encontrei um obstáculo ao tentar criar um script bash que gravasse arquivos de captura de pacotes do tcpdump em um servidor remoto, enquanto exibia a saída do comando tcpdump para que o usuário do script soubesse quando interrompê-lo.

O comando que estou invocando atualmente é invocado no servidor em que o arquivo está armazenado e apontado para o dispositivo remoto (listado aqui como [AN_IP]). Parece algo assim:

ssh -t [USER]@[AN_IP] -R 10000:127.0.0.1:22 "tcpdump -s0 -ei eth1 -w - | ssh -p 10000 [USER]@127.0.0.1 'tee file.pcap | /usr/sbin/tcpdump -r -'

Isso funciona mais ou menos como desejado, no entanto, eu preciso ser capaz de dar ao usuário a capacidade de executar várias capturas altamente específicas de uma única instância do meu script.

Eu não consigo encontrar um bom método para automatizar o processo de autenticação SSH, o que torna a criação de qualquer parte disso extremamente difícil, se não completamente impossível - Até agora, qualquer método de criar este comando ou qualquer variação que eu possa criar , parece resultar em uma falha de um ou ambos os diálogos de autorização se apresentarem ou na destruição do túnel SSH.

Existe alguma maneira de fazer o background automaticamente desse script após o sucesso do diálogo de autenticação SSH, sem romper o túnel ou interromper a captura?

    
por Ditchdigger 17.06.2013 / 08:55

0 respostas