File "imsniff.sh"

Full path: /www/wwwroot/fabriciovc.eti.br/downloads/scripts/debian/guardian/snort/ORGANIZAR/msn/imsniff.sh
File size: 3.56 KiB (3646 bytes)
MIME-type: text/x-shellscript
Charset: utf-8

Download   Open   Back

#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# NOTA DE LICENCA                                                             #
#                                                                             #
# Este trabalho esta licenciado sob uma Licenca Creative Commons Atribuicao-  #
# Compartilhamento pela mesma Licenca 2.5 Brasil. Para ver uma copia desta    #
# licenca, visite http://creativecommons.org/licenses/by-sa/2.5/br/           #
# ou envie uma carta para Creative Commons, 171 Second Street, Suite 300,     #
# San Francisco, California 94105, USA.                                       #
#                                                                             #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#                                                                             #
# Criado em 22/10/2008 - Ultima alteracao em 12/12/2008                       #
# Desenvolvido por Fabricio Vaccari Constanski                                #
# Contato pelo Email fabriciovc[em]fabriciovc.eti.br                          #
# Funcao: Script que gerencia o imsniff (programa sniffer para capturar       #
#         mensagens do MSN)                                                   #
#                                                                             #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#### VARIAVEIS ################################################
IFEXTERNA=eth1
#IMSNIFF=`which imsniff`
IMSNIFF='/usr/local/bin/imsniff'
MKDIR=`which mkdir`
CHMOD=`which chmod`
RM=`which rm`
SED=`which sed`
TXT2TAGS=`which txt2tags`

CHAT_DIR='/home/imsniff/chats'
HTML_DIR='/var/www/msn'
LOG_DIR='/var/log/imsniff'

# Usuarios que não serao reportados (separado por espaco)
ADMIN_USERS=''

#### FUNCOES #################################################

## Funcao que verifica se um determinado comando foi executado
_checkok () {
if [ $? -eq 0 ]; then
  sleep 1
  echo "Done"
else
  sleep 1
  echo "Falhou"
fi
}

## Funcao que inicia o monitoramento
_start () {

# Mata possíveis processos existentes antes de inicia-lo
_stop

$IMSNIFF -cd $CHAT_DIR -dd $LOG_DIR -vvv -d $IFEXTERNA
}

## Funcao que finaliza o monitoramento
_stop () {

for PROC in `ps aux | grep imsniff | grep -v start | grep -v grep | grep -v vi | awk '{print $2}'`; 
do
  kill -9 $PROC 2>&1 > /dev/null
done
}

## Funcao que gera os relatorios em formato HTML
_report () {

HOJE=`date +%d%b%Y`
DAYAGO=`date --date "30 day ago" +%d%b%Y`

for u in $ADMIN_USERS; 
do
  for i in `ls $CHAT_DIR | grep -i $u`; 
  do
    rm -rf $CHAT_DIR/$i
  done

  for i in `find $CHAT_DIR -name $u*`;
  do
    rm -f $i
  done
done

$RM -rf $HTML_DIR/$DAYAGO 2> /dev/null
$MKDIR $HTML_DIR/$HOJE 2> /dev/null

for usuario in `ls $CHAT_DIR`;
do
  USUARIO=`echo $usuario | awk -F '@' '{print $1'}`
  $MKDIR $HTML_DIR/$HOJE/$USUARIO 2> /dev/null
  
  for contato in `ls $CHAT_DIR/$usuario | grep @`;
  do
    # Nome do arquivo gerado
    HTML_FILE="$HTML_DIR/$HOJE/$USUARIO/`echo $contato | sed 's/\.log/\.html/g'`"
    
    # Gera HTML
    $SED -i 's/$/\n/' $CHAT_DIR/$usuario/$contato 2>&1 > /dev/null
    $TXT2TAGS -t html --outfile $HTML_FILE $CHAT_DIR/$usuario/$contato 2>&1 > /dev/null
  done
done

rm -rf $CHAT_DIR/*
rm -f /var/log/imsniff/*.log
}

case $1 in
start)
  echo -n "Iniciando o servico: Imsniff ... "
  _start
  _checkok
;;
stop)
  echo -n "Finalizando o servico: Imsniff ... "
  _stop
;;
htmlreport)
  _report
;;
*)
  echo "Use: /etc/init.d/imsniff {start|stop|htmlreport}"
;;
esac

$CHMOD -R 755 /home/imsniff/chats
exit 0

PHP File Manager