Coleta em loop com TCPDUMP para wireshark

De Wiki Clusterlab.com.br
Revisão de 12h53min de 8 de dezembro de 2017 por Damato (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar
#!/bin/bash
function COLETAR(){
  tcpdump -i $1 -c $2 -s 65535 -w $3
}
export CPUNUMBER=$(grep proc /proc/cpuinfo  | wc -l)
if [ $# -eq 3]
then
  export LOGPATH=$3
  while true
  do
    cd $LOGPATH
    export FILENAME=$(date +"%Y-%m-%d_%H-%M_%S").log
    time COLETAR $1 $2 $LOGPATH/$FILENAME
    file $(which pigz)
    RETURN=$?
    if [ $RETURN -eq 0 ]
    then
      pigz -9 -p $CPUNUMBER $FILENAME &
    else
      gzip -9 $FILENAME &
    fi
  done
else
  echo Exemplo:
  echo $0 eth2 50000 /root/tcpdump/coleta
fi