Coleta em loop com TCPDUMP para wireshark
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