executando o comando tshark no arquivo de lote do windows

0

Eu escrevi um arquivo de lote que executa um comando tshark para filtrar campos de um arquivo pcap do wireshark e gravá-los em um arquivo csv. Quando eu corri na janela cmd CLI, eu tive que mudar o diretório de trabalho atual para o diretório da pasta wireshark no Meu Computador > Arquivos de programas, então eu mudei o diretório de trabalho atual no arquivo de lote para que ele fosse executado da mesma forma que eu corri na CLI do Windows cmd.

No entanto, quando eu corri o script de lote abaixo, o arquivo csv de saída estava em branco. Como faço para corrigir este script em lotes para que eu possa ver o conteúdo no arquivo csv de saída gerado usando o comando tshark do wireshark?

Eu escrevi o arquivo em lote como este.

@echo off

set curr_dir =% cd%

chdir / D cd ..

chdir / D cd ..

arquivos de programas cd / d cd

chdir / D cd wireshark

tshark -T campos -n -r "C: \ Usuários \ L33604 \ Desktop \ SynFlood Sample.pcap" -E separador =, -e ip.src -e ip.dst > "C: \ Users \ L33604 \ Desktop \ logcapture.txt"

    
por misteryuku 23.04.2012 / 05:01

1 resposta

0

Provavelmente o problema é que você não incluiu \ arquivos de programas com aspas. O programa em lote não tratará adequadamente um caminho ou nome de arquivo com um espaço, a menos que você coloque aspas em torno dele.

Eu fiz o seguinte para o seu programa em lote, e ele assume que o diretório Wireshark está na unidade C: e que os arquivos de amostra de captura de log e synflood estão onde você reporta que estão:

@echo off

cd /d "c:\program files\wireshark"


tshark -T fields -n -r "C:\Users\L33604\Desktop\SynFlood Sample.pcap" -E separator=, -e ip.src -e ip.dst > "C:\Users\L33604\Desktop\logcapture.txt"
    
por 24.04.2012 / 02:27