File "imsniff.sh"
Full path: /www/wwwroot/fabriciovc.eti.br/downloads/scripts/temp/centos/debian/backup/ORGANIZAR/msn/imsniff.sh
File size: 3.56 KiB (3646 bytes)
MIME-type: text/x-shellscript
Charset: utf-8
#!/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