Filtro de origem TCPDUMP: mudanças entre as edições

De Wiki Clusterlab.com.br
Ir para navegação Ir para pesquisar
Sem resumo de edição
 
(Sem diferença)

Edição atual tal como às 12h07min de 30 de janeiro de 2018

Este scripts server para ser executado em um servidor para uma ou mais interfaces de rede para filtrar a origem das comunicações com o servidor analisado.

#!/bin/bash
function ARQTEMP() {
        case $1 in
                criar) mktemp
                        ;;
                apagar) 
                        rm -fr $2
                        ;;
        esac
}
function analisar() {
        mkfifo fila
        while true
        do
                echo Loop de analise PID $$
                tcpdump -i $1 -nn -c $2 not arp and dst host $(ip addr show $1 | grep -w inet | awk '{print $2}' | awk -F \/ '{print $1}') 2>/dev/null > fila
        done
}
function filtrar() {
        while true
        do
                ArquivoTemp=$(ARQTEMP criar)
                cat fila | awk '{print $3 " " $5}' | \
			while read origem destino
			do
				echo $(echo $origem | awk -F . '{print $1 "." $2 "." $3 "." $4}') $destino
			done > $ArquivoTemp
                cat dados >> $ArquivoTemp
                cat $ArquivoTemp | sort -u > dados
                ARQTEMP apagar $ArquivoTemp
                date
                wc -l dados
        done
}
function AJUDA() {
        echo \#HELP
        echo \#$0 \<filtrar\|analisar\> \<interface de rede\> \<numero de amostras\>
        echo \#Exemplo:
        echo \#$0 analisar ens160 10000
        exit 1
}
case $# in
        1)
                case $1 in
                        filtrar)
                                filtrar
                                ;;
                        *)
                                AJUDA
                                ;;
                esac
                ;;
        3)
                case $1 in
                        analisar)
                                analisar $2 $3 &
                                ;;
                        *)
                                AJUDA
                                ;;
                esac
                ;;
        *)
                AJUDA
esac