sexta-feira, 17 de dezembro de 2010

Monitorando Conversas do MSN

:: Instalando dependências
# apt-get install gcc g++ make binutils libssl-dev libmysql++-dev mysql-server

:: Instalando o IMSpector
# cd /usr/src
# wget http://www.imspector.org/downloads/imspector-0.9.tar.gz
# tar -xvzf imspector-0.9.tar.gz
# cd imspector-0.9
# make
# make install

:: Compilando/Gerando Certificado
# cd /usr/src/imspector-0.9
# make install-ca-cert

:: Compilando o Plug-in para Log no MySQL
# make mysqlloggingplugin.so
# cp mysqlloggingplugin.so /usr/lib/imspector

:: Configurando o MySQL
# mysql -u root -p
mysql> CREATE DATABASE imspector;

mysql> USE imspector;

mysql> CREATE TABLE messages (
   id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
   timestamp INT(11) NOT NULL default 0,
   clientaddress TEXT NOT NULL,
   protocolname TEXT NOT NULL,
   outgoing INT(11) NOT NULL DEFAULT 0,
   type int(11) NOT NULL default 0,
   localid TEXT NOT NULL,
   remoteid TEXT NOT NULL,
   filtered INT(11) NOT NULL default 0,
   categories TEXT NOT NULL,
   eventdata BLOB NOT NULL  
) ENGINE=InnoDB;

mysql> GRANT ALL PRIVILEGES ON imspector.* TO imspector@localhost IDENTIFIED BY "Senh@Secr3ta";
mysql> FLUSH PRIVILEGES;
mysql> quit

:: Configurando o IMSpector
# vim /usr/etc/imspector/imspector.conf
[...]
port=16667
http_port=18080
[...]
plugin_dir=/usr/lib/imspector
[...]
msn_protocol=on
[...]
log_typing_events=on
file_logging_dir=/var/log/imspector
[...]
mysql_server=localhost
mysql_database=imspector
mysql_username=imspector
mysql_password=Senh@Secr3ta

:: Configurando o iptables
# iptables -t nat -A PREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667

:: Iniciando o IMSpector
# /usr/sbin/imspector

:: Visualizando os Logs via shell
# cd /var/log/imspector/MSN

:: Visualizando os Logs via HTTP
# cp /usr/src/imspector-0.9/contrib/imspector.cgi /usr/lib/cgi-bin/
# a2enmod 
cgi

Aponte o Navegador para http://<ip_servidor>/cgi-bin/imspector.cgi

Obs.: O Gateway dos Desktops devem apontar para o servidor configurado.

:: Configurando Starting
# vim /etc/init.d/imspector

# Script de Starting/Stopping para IMSpector
#! /bin/sh
case "$1" in
  start )
        echo "Starting IMSpector"
        /usr/sbin/imspector
        ;;
  stop)
        echo "Stopping IMSpector"
        killall imspector
        ;;
  *)
        echo "Usage: /etc/init.d/imspector {start|stop}"
        exit 1
esac
exit 0

# cd /etc/rc2.d
# ln -s ../init.d/imspector S60imspector

:: Configurando o Stopping
# cd /etc/rc6.d
# ln -s ../init.d/imspector K60imspector