IMspector, перехват сообщений ICQ

Всем привет!
Вот на работе поставили интересную задачу:
Требуется писать всю историю ICQ переписки сотрудников для руководства.

Немного погуглив и почитав форумов наткнулся на замечательный проект IMspector

Вот что это маленькое чудо умеет:
IMSpector is an Instant Messenger proxy with monitoring, blocking and content-filtering capabilities. Currently it supports MSN, Jabber/XMPP, AIM, ICQ, Yahoo, IRC and Gadu-Gadu to different degrees. MSN is the principle protocol, as it’s the most popular these days, at least in the UK where I’m based. The supported platforms are at present Linux and BSD when using the pf firewall, but porting to other UNIXs should be trivial. It is able to log to plain files, as well as several types of SQL database including MySQL, SQLite and PostreSQL.

Иными словами эта штука работает с : MSN, Jabber/XMPP, AIM, ICQ, Yahoo, IRC and Gadu-Gadu протоколами, работает в Linux, *BSD системах и поддерживает СУБД.
И умеет подсовывать свои сертификаты, что-бы самых умных с SSL обломать.
Ещё можно отключить WEB камеры, пересылку файлов и блокировать сообщения.

От себя добавлю что с Русским языком IMspector работает.

Поскольку ICQ протокол меняется чуть-ли не каждый день я решил ставить IMspector из daily snapshots
Скачиваем, компилируем устанавливаем:

cd /tmp
wget http://www.imspector.org/downloads/snapshots/imspector-20090221.tar.gz
tar xvfz imspector-20090221.tar.gz
cd imspector
make
make install

Если нужны сертификаты выполните
make install-ca-cert

Всё будет установлено в директорию /usr
* /usr/sbin/imspector - the imspector binary.
* /usr/lib/libimspector.so - a shared library that the main program and plugins share.
* /usr/lib/imspector/*protocolplugin.so - the protocol plugins.
* /usr/lib/imspector/*loggingplugin.so - the logging plugins.
* /usr/lib/imspector/*filterplugin.so - the filtering and content-manipulation plugins.
* /usr/etc/imspector/imspector.conf - an example config file, good enough for quick playing.
* /usr/etc/imspector/badwords.txt - an example list of swear words to block.
* /usr/etc/imspector/acl.txt - an example of a trivial and useless ACL.
* /usr/etc/imsepctor/servercert.pem - optional server ssl certificate.
* /usr/etc/imspector/serverkey.pem - optional server ssl key.
* /usr/etc/imsepctor/cacert.pem - optional ca ssl certificate.
* /usr/etc/imspector/cakey.pem - optional ca ssl key.

И добавим NAT правила с этой странички.

Поскольку меня интересует только ICQ я вписал:
ICQ/AIM: iptables -t nat -A PREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667

И открыл NAT доступ для 5190 порта
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 5190 -j MASQUERADE

И ещё закрыл ICQ доступ на проксе SQUID
acl icq_dom dstdomain .icq.com .aol.com
acl icq_addr src 64.12.0.0/255.255.0.0 255.188.0.0/255.255.0.0
http_access deny icq_dom
http_access deny icq_addr

Источник

Запускаем: imspector -d и пробуем подключиться по ICQ и передать сообщение.
Если всё пройдёт удачно, то в /var/log/imspector мы увидим папку со своим UIN и в ней подпапки с сообщениями.
Про формат логов читать тут.

Папку с логами file_logging_dir=/var/log/imspector можно изменить в конфиге.

Всё, настройка закончена. Если возникнуть проблемы не ленитесь зайти на оф.сайт IMspector'a.
Там всё очень подробно с внятно расписано.

UPD:
В папке c IMspector есть папка contrib в которой лежит Perl скрипт imspector.cgi
Это и есть WEB Log Viewer для логов IMspector.
Ставьте WEB сервер и смотрите логи через браузер, используется AJAX.
Опробовал, всё работает отлично.
Скриншот
blog comments powered by Disqus