Visual para tcpdump com dialog
Publicado por Jonatam Ribeiro dos Santos (última atualização em 30/07/2012)
[ Hits: 5.105 ]
Salve salve galera, bom vou estar postando o script ae para vocês que fiz para quem esta começando com GNU/Linux e mexendo com shell script, fiz um visualzinho para usar o tcpdump para captura e analise de dados, o script esta em dialog para poder ser executado também em servidores com conexão ssh que não possuem o X em breve posto ele na versão kdialog, bom abaixo segue o script.
# !/bin/bash # by Jonatan / Baguio Loko # jonatam.ribeiro@hotmail.com # http://www.homedesenvolvimento.com # visual para tcpdump # V 1.0 # função ver as interfaces ver() { hosts=$(tcpdump -D) # JOGA AS INTERFACES UMA ABAIXO DA OUTRA E EXIBE NA TELA echo $hosts | while read LINHA; do set - $LINHA dialog --title 'INTERFACES' --msgbox "INTERFACES ENCONTRADOS\n\n${1}\n${2}\n${3}${4} ${5} ${6} ${7}\n${8}${9}${10}${11}${12}\n${13}${14} ${15} ${16} ${17} ${18} ${19}\n${20}" 0 0 done } ## função de snifar a rede snifar() { #FUNCÃO SNIFAR REDE ETH0 snifar_eth0() { pact=$( dialog --stdout --inputbox 'Digite a quantidade de pacotes a ser filtrada:' 0 0 "50000") string="tcpdump -i eth0" t1=-n t2=-nn t3=host t4=src t5=dst t6="and port" t7=not t8=-p pacotes="-c$pact" while : ; do respostaeth0=$( dialog --stdout \ --title 'Menu' \ --menu 'Escolha:' \ 0 0 0 \ 1 'filtrar apenas por determinado host' \ 2 'Mais Opções' ) [ $? -ne 0 ] && break break #Inicia a estrutura de condição case case "$respostaeth0" in #FUNÇÕES 1) host=$( dialog --stdout --inputbox 'Digite o HOST:' 0 0 ) nome1=$( dialog --stdout --inputbox 'Digite o nome do arquivo a ser salvo:' 0 0 "nome.pcap") string="$string $pacotes $t3 $host -w $nome1" dialog --title 'INTERFACES' --msgbox "$string" 0 0 $string ;; 2) string="$string $pacotes" dialog --yesno 'Não exibir o nome da porta mas sim o numero' 0 0 if [ $? = 0 ]; then string="$string $t2" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'Não colocar a placa em promiscue mode' 0 0 if [ $? = 0 ]; then string="$string $t8" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'Não resolver nome DNS e mostrar apenas o IP' 0 0 if [ $? = 0 ]; then string="$string $t1" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'Deseja filtra por pacotes recebidos pelo host' 0 0 if [ $? = 0 ]; then hostr=$( dialog --stdout --inputbox 'Digite o HOST:' 0 0 ) string="$string $t5 $t3 $hostr" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'Deseja filtra por pacotes enviados pelo host' 0 0 if [ $? = 0 ]; then hoste=$( dialog --stdout --inputbox 'Digite o HOST:' 0 0 ) string="$string and $t4 $t3 $hoste" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'não filtra nada relacionado ao host' 0 0 if [ $? = 0 ]; then hostn=$( dialog --stdout --inputbox 'Digite o HOST:' 0 0 ) string="$string and $t7 $t3 $hostn" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi dialog --yesno 'Deseja filtra por determinada porta' 0 0 if [ $? = 0 ]; then porta1=$( dialog --stdout --inputbox 'Digite a Porta:' 0 0 ) string="$string $t6 $porta1" dialog --title 'INTERFACES' --msgbox "$string" 0 0 else echo 'ok' fi nome1=$( dialog --stdout --inputbox 'Digite o nome do arquivo a ser salvo:' 0 0 "nome.pcap") string="$string -w $nome1" $string ;; esac done } # INICIO DO MENU DE REDES while : ; do # Mostra o menu na tela, com as ações disponíveis resposta2=$( dialog --stdout \ --title 'Menu' \ --menu 'Escolha:' \ 0 0 0 \ 1 'eth0' \ 0 'Voltar') # Ela apertou CANCELAR ou ESC, então vamos sair e limpar a Tela [ $? -ne 0 ] && break #Inicia a estrutura de condição case case "$resposta2" in #FUNÇÕES DE REDES 1)snifar_eth0 ;; 0)break clear ;; esac done } ajuda() { dialog --title "================================= Desenvovlvedor =================================" \ --msgbox "\n http://www.homedesenvolvimento.com\n jonatam[dot]ribeiro[at]hotmail[dot]com\n 2012" 0 0 } analize() { #pega o nome do arquivo a ser analizado nome1=$( dialog --stdout --inputbox 'Digite o nome do arquivo a ser analizado:' 0 0 "nome.pcap") #verifica se o usuario deseja ver o cabeçalho e conteudo do pacote dialog --yesno 'deseja ver o cabeçalho e conteudo do pacote' 0 0 if [ $? = 0 ]; then tcpdump -r $nome1 -xx >>log.txt else tcpdump -r $nome1 >>log.txt fi # mostra o conteudo do arquivo log.txt dialog \ --title 'Monitorando Mensagens do Sistema' \ --textbox log.txt \ 0 0 rm log.txt # remove o arquivo log.txt } ################################################################################################ # INICIO DO MENU PRINCIPAL while : ; do # Mostra o menu na tela, com as ações disponíveis resposta=$( dialog --stdout \ --title 'Menu' \ --menu 'Escolha:' \ 0 0 0 \ 1 'Ver Interfaces' \ 2 'Snifar' \ 3 'Ajuda' \ 4 'Analizar dados' \ 0 'sair') # Ela apertou CANCELAR ou ESC, então vamos sair e limpar a Tela [ $? -ne 0 ] && break clear #Inicia a estrutura de condição case case "$resposta" in #FUNÇÕES DO MENU PRINCIPAL 1)ver ;; 2) snifar ;; 3) ajuda ;; 4) analize ;; 0)break clear ;; esac done
Otimiza.sh - Atualiza seu Ubuntu/Debian
Criar usuários com ponto (nome.usuario) no Slackware
Nenhum comentário foi encontrado.
Deixando o Gnome bonitão em qualquer distribuição
Como ativar o módulo de cancelamento de ruído no Pipewire
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Papagaiando (enfeitando) o KDE com efeitos do KWiN Burn My Windows
Como centralizar o widget Gerenciador de Tarefas Apenas Com Ícones do Painel do KDE
Checar seu IP externo no terminal
Rede cabeada limitando a 100Mbps (5)
LocalSend, uma alternativa ao Warpinator? (2)
GRUB do Debian 12 não detecta segundo Linux instalado em partição BTRF... (32)
Performance na OpenGL melhor no Windows do que Linux, mas Vulkan rodan... (5)