Visual para tcpdump com dialog
Publicado por Jonatam Ribeiro dos Santos (última atualização em 30/07/2012)
[ Hits: 5.241 ]
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
Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos, SPLIT em FITAS, envio de LOG por E
Script para gravar 2 (ou 4) CDs simultaneamente
Agenda de Contatos - Shell Script + MYSQL
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
O que esta havendo com o mercado de ti? (8)
Não consigo cadastrar nenhuma conta online (4)
Hotspot Mikrotik nao carrega pagina de login. (0)