Configuração e uso
vamos criar o banco de dados:
Obs.: Para prosseguir nesse tópico o MySQL tem que estar instalado e rodando perfeitamente.
Entre no prompt do MySQL:
# mysql -p (em seguida digite a senha do root do MySQL)
Criação do banco:
mysql> create database imspector; (atente para o ; no final do comando dentro do prompt do mysql)
Criação da tabela:
mysql> CREATE TABLE `messages` (
`id` int(11) NOT NULL 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,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Pronto, criado o banco de dados, vamos ao arquivo de configuração, sendo o mesmo situado no seguinte caminho: /usr/etc/imspector/imspector.conf
Opções gerais:
# Portas de trabalho
port=16667
http_port=18080
# Rede de trabalho
listeneaddr=0.0.0.0
# Diretório de plugins
plugin_dir=/usr/lib/imspector
# Protocolos habilitados
icq_protocol=on
irc_protocol=on
msn_protocol=on
yahoo_protocol=on
gg_protocol=on
jabber_protocol=on
https_protocol=on
# Além de gravar em banco ele também guarda os registros em log
log_typing_events=on
file_logging_dir=/var/log/imspector
# Conexão com o banco, descomentar e completar com seus dados
# MySQL logging plugin stuff
mysql_server=localhost
mysql_database=imspector
mysql_username=SEU USUÁRIO QUE CONECTA AO BANCO
mysql_password=SENHA DO USUÁRIO
# Bad words filtering ( aqui você pode definir uma lista de palavras que são substituidas quando digitadas e enviadas)
#badwords_filename=/usr/etc/imspector/badwords.txt
#badwords_replace_character=*
#badwords_block_count=1
# aqui é definida as listas de controle feitas em um arquivo de texto
# ACL
#acl_filename=/usr/etc/imspector/acl.txt
# aqui é num banco de dados sqlite
# SQLite-backed filter
#db_filter_filename=/path/to/file
# aqui pode-se bloquear as transferencias de arquivos
# Block all filetransfers?
#block_files=on
# aqui pode-se bloquear as webcams
# Block webcams?
#block_webcams=on
A configuração básica está pronta, agora falta colocar umas regras de redirecionamento para o Imspector começar a captura.
Adicione as seguintes regras no seu script do iptables:
# MSN:
iptables -t nat -A PREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
# Jabber:
iptables -t nat -A PREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
# Jabber over SSL:
iptables -t nat -A PREROUTING -p tcp --destination-port 5223 -j REDIRECT --to-ports 16667
# ICQ/AIM:
iptables -t nat -A PREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
# Yahoo:
iptables -t nat -A PREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
# IRC:
iptables -t nat -A PREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
# Gadu-Gadu:
iptables -t nat -A PREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
# Regras para quem redireciona todo o trafico para o Squid, não usa proxy transparente:
# MSN:
iptables -t nat -A OUTPUT -p tcp --destination-port 1863 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# Jabber:
iptables -t nat -A OUTPUT -p tcp --destination-port 5222 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# Jabber over SSL:
iptables -t nat -A OUTPUT -p tcp --destination-port 5223 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# ICQ/AIM:
iptables -t nat -A OUTPUT -p tcp --destination-port 5190 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# Yahoo:
iptables -t nat -A OUTPUT -p tcp --destination-port 5050 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# IRC:
iptables -t nat -A OUTPUT -p tcp --destination-port 6667 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
# Gadu-Gadu:
iptables -t nat -A OUTPUT -p tcp --destination-port 8074 -m owner --uid-owner 100 -j REDIRECT --to-ports 16667
Execução:
A sua execução é simples, para ter um debug do que está acontecendo:
# imspector -D
Modo normal:
# imspector
Agora é só criar um script de inicialização no /etc/rc.d e colocar no rc.M e pronto, essa parte está concluída.
O Imspector 0.9 vem com um script CGI em Perl para visualizar as conversas, porém esse script pega as conversas registradas em log, não do banco. O que passei no script é o básico para seu funcionamento, visite a pagina do desenvolvedor e explore seus recursos.