FreeBSD: Мониторинг ICQ-переписки с помощью AimSniff

AIM Sniff Внимание! Перед развертыванием и тем более использованием системы, которая описана в этой статье, обязательно ознакомьтесь со статьями 137 «Нарушение неприкосновенности частной жизни» и 138 «Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений» Уголовного Кодекса Российской Федерации, а также посоветуйтесь с юристами. Я не несу ни какой ответственности за последствия, которые могут быть вызваны Вашими действиями.

Постановка задачи

Необходимо создать систему, позволяющую перехватывать, хранить и отображать в удобной форме ICQ-переписку сотрудников компании. Судя по диалогам на соответствующих форумах, рассматриваемая задача периодически возникает, поэтому я описал один из способов ее решения, примененный в нашей Компании. Система построена на базе свободно распространяемого бесплатного программного обеспечения и не требует использования каких-либо специализированных аппаратных и / или программных средств.

Исходные данные

Имеется сервер с FreeBSD, через который сотрудники компании тем или иным способом (NAT, прокси-сервер и т.п.) выходят в Интернет. Для установки системы не требуется какая-либо перенастройка этого сервера. Самое главное — Вы должны тем или иным способом ограничить список портов, которые могут использовать клиенты ICQ, чтобы продвинутые пользователи не смогли «обмануть» сниффер.
В качестве сниффера мы будем использовать AimSniff, для хранения перехваченныйх сообщений — сервер MySQL (процесс настройки сервера MySQL не расматривается в данной статье за исключением создания базы данных и пользователя aimsniff), для просмотра отчетов — Web Aim Sniff (WAS) и Web-сервер Apache (процесс настройки сервера Apache не рассматривается в данной статье за исключением добавления возможности отображения необходимых отчетов). Почти все перечисленное программное обеспечение будет устанавливаться из портов, поэтому я рекомендую Вам обновить их перед выполнением действий, описанных ниже (я использовал FreeBSD 7.0 и последние на конец 2008 года версии портов для нее). Ссылки на источники информации будут приводиться применительно к конкретным разделам статьи.

Установка и настройка AimSniff

Установку AimSniff необходимо выполнить из портов:

cd /usr/ports/security/aimsniff
make install clean

Сразу после завершения выполнения установки необходимо выполнить команду:

aimsniff -d=bge1 --nodb

Естественно, bge1 необходимо заменить на имя внутреннего интерфейса. Данная команда запускает мониторинг пакетов ICQ, проходящих через заданный интерфейс, и отображение содержимого декодированных пакетов на экране без записи в базу данных. Если после выполнения команды вместо сообщений "INCOMINMG MESSAGE..." и "OUTGOING MESSAGE..." выдается сообщение: "Can't locate GDBM_File.pm in @INC (…) at /usr/local/bin/aimsniff line 47. BEGIN failed--compilation aborted at /usr/local/bin/aimsniff line 47.", следует пересобрать Perl с поддержкой GDBM:

cd /usr/ports/lang/perl5.8
make deinstall
make WITH_GDBM=yes reinstall

По умолчанию AimSniff «не понимает» интересующие нас сообщения в кодировке UTF-8. Для исправления такого поведения необходимо загрузить пропатченную версию скрипта AimSniff и установить порт p5-Unicode-Map8 (если он не был установлен ранее):

fetch http://www.aimsniff.com/releases/aimSniff.Cyr-005.tar.gz
tar -xf aimSniff.Cyr-005.tar.gz
chmod 555 aimSniff.Cyr-005.pl
mv aimSniff.Cyr-005.pl /usr/local/bin
cd /usr/ports/converters/p5-Unicode-Map8
make install clean

Для проверки работоспособности руссифицированного AimSniff необходимо выполнить команду:

aimSniff.Cyr-005.pl -d=bge1 --nodb

После того, как первичная настройка будет завершена, необходимо создать базу данных aimsniff и пользователя aimsniff для работы с этой базой данных. Для этого нужно запустить клиент MySQL командой:

mysql -u <имя пользователя-администратора> -p

ввести пароль и выполнить три SQL-запроса:

CREATE DATABASE aimsniff;
GRANT ALL ON aimsniff.* TO aimsniff@localhost IDENTIFIED BY 'aimsniff';
FLUSH PRIVILEGES;

После завершения работы клиента MySQL необходимо создать таблицы базы данных aimsniff:

mysql -u <имя пользователя-администратора> -p aimsniff < /usr/local/share/doc/aimsniff/table.struct

После завершения подготовки базы данных необходимо создать файл конфигурации AimSniff. В моем случае он называется aimSniff.cfg, находится в папке /usr/local/etc и имеет следующее содержимое:

dev=bge1
filter='tcp and port 3128'
daemon=1
host=localhost
database=aimsniff
user=aimsniff
password=aimsniff
useSyslog=1

В данном файле заданы следующие значения параметров: dev — имя интерфейса; filter — фильтр, определяющий какие пакеты следует «вылавливать» (зависит от способа выхода клиентов ICQ в Интернет, в моем случае для выхода клиентов ICQ в Интернет используется прокси-сервер, «слушающий» порт 3128); daemon — признак работы в режиме демона; host / database / user / password — параметры доступа к базе данных; useSyslog — признак использования syslog’а для записи служебных сообщений.
Самым последним этапом настройки AimSniff является доработка скрипта автозапуска, выполняемого при запуске операционной системы. Образец такого скрипта поставляется в составе AimSniff (файл rc.aimsniff в папке /usr/local/share/doc/aimsniff), однако его нужно немного адаптировать. Во-первых, нужно указать корректный интерпретатор shell в первой строке (в моем случае это /bin/sh), а во вторых заменить имя скрипта и файла конфигурации в шестой строке на:

/usr/local/bin/aimSniff.Cyr-005.pl -C=/usr/local/etc/aimSniff.cfg

После этого необходимо сделать скрипт исполняемым и скопировать его в папку usr/local/etc/rc.d:

cd /usr/local/share/doc/aimsniff
chmod 555 rc.aimsniff
cp rc.aimsniff /usr/local/etc/rc.d/aimsniff.sh

На этом настройка AimSniff заканчивается. Перезагрузите сервер, и после запуска операционной системы демон AimSniff начнет «вылавливать», декодировать и записывать перехваченные сообщения ICQ в базу данных.

Установка и настройка WAS

WAS (Web Aim Sniff) — Web-интерфейс для доступа к базе данных AimSniff, написанный на языке PHP. К сожалению, пока он не добавлен в коллекцию портов FreeBSD, в связи с чем придется ставить его из исходных тестов. Перед началом установки WAS необходимо добавить в файл конфигурации необходимого виртуального хоста Apache следующие строки:

Alias /was "/usr/local/www/was/"
AuthName "This server require authorization!"
AuthUserFile /usr/local/etc/apache/htpasswd
AuthType Basic
Require user "Список пользователей, которым разрешен доступ"
Order deny,allow
Deny from all
Allow from ...
Allow from ...

Как видно из фрагмента файла конфигурации для установки WAS была выбрана папка /usr/local/www/was, доступ к которой разрешен только с определенных IP-адресов и только после прохождения процедуры Basic-аутентификации. Вам нужно подставить реальные IP-адреса в директивы Allow from и добавить необходимых пользователей в файл htpasswd и директиву Require user. О том, как это сделать, подробно написано в разделе Authentication, Authorization, and Access Control официальной документации Apache. Не забудьте перезапустить Web-сервер после внесения изменений в его конфигурацию.
Когда Web-сервер будет подготовлен, необходимо загрузить, распаковать и переместить WAS в нужную папку, удалить все лишнее и сделать владельцем файлов WAS пользователя, от имени которого работает Web-сервер:

mkdir /usr/local/www/was
cd /usr/local/www/was
fetch http://aimsniff.com/releases/was-0.1.2b.tar.gz
tar -xf was-0.1.2b.tar.gz
mv was-0.1.2b/* was-0.1.2b/.[a-zA-Z]* .
rm -Rf was-0.1.2b was-0.1.2b.tar.gz
chown -R www:www * .[a-zA-Z]*

После этого необходимо слегка подкорректировать файлы WAS. Во-первых, в файлах .header.php и index.html неоходимо исправить charset=iso-8859-1 на charset=koi8-r (это приведет к корректному выбору кодировки браузером и, соответственно, корректному отображению русских символов). Во-вторых, в файле index.php необходимо исправить img src=./typesGraph.php на img src=./images/typesGraph.php (это исправит ошибку, допущенную разработчиком WAS). В третьих, мне показалось более удобным видеть в списке сообщений не IP-адреса, а имена компьютеров локальной сети. Если Вы согласны со мной, исправьте в файле .global.php <strong>IP</strong> на <strong>Computer</strong>, а также исправьте в теле функции printMessages $rs["ip"] на ucwords(gethostbyaddr($rs["ip"])). Вообще, следует заметить, что WAS — очень «сырой» пакет. К сожалению, у меня нет времени на его адаптацию, да и PHP я знаю лишь поверхностно, поэтому в настоящий момент приходится довольствоваться тем, что есть. Все работает, хотя за эргономику я бы не поставил больше тройки.
После доработки файлов WAS необходимо открыть в браузере URL http://host.company.com/was/admin.php, естественно, изменив host.company.com на имя используемого Вами виртуального хоста. В браузер будет загружена страница, на которой можно задать параметры WAS. В первую очередь необходимо изменить параметры Database User / Database Password и нажать кнопку Submit. Остальные параметры могут быть изменены или не изменены, исходя из личных предпочтений. На этом настройка WAS заканчивается.

Заключение

С учетом простоты рассмотренной системы с одной стороны и огромной популярностью ICQ с другой Вам скорее всего удастся выявить не один и не два эпизода неправильного использования рабочего времени, а возможно и «слива» конфиденциальной информации. Бесспорно, система не является панацеей, однако даже несколько выявленных случаев с лихвой окупят время, потраченное на ее настройку. Если в процессе настройки у Вас возникнут проблемы, внимательно анализируйте лог-файлы и читайте обсуждение cтатьи на сайте www.lissyara.su. Если ничего не помогает, задавайте мне вопросы, попробуем решить проблему вместе.

Понравилась статья?

 Подпишитесь на RSS или почтовую рассылку;

 Присоединяйтесь в Twitter, Facebook, Google+, VK;

 Поделитесь ссылкой в социальной сети или блоге:

93 комментария к “FreeBSD: Мониторинг ICQ-переписки с помощью AimSniff

  1. Привет! Настроил aimsniff, при попытке открыть was (admin.php) скрипт просто предлагает сохраниться как файл и все. Что делать, не подскажешь на вскидку, пожалуйста? Спасибо.

  2. Добрый день.
    Очень помогла статья icqsniff. Большое Спасибо. Все работает, за исключением следующего… Если юзеры сидят в квипе, то все сообщения отлавливаются и скадываются в базу. Если люди используют icq клиента встроенного в мейл агента, то sniff ловит только кракозябрики и не важно на каком языке написанно сообщение на инглише или на русском.
    Подскажите как можно решить данную проблему?

    • Добрый вечер!

      Если люди используют icq клиента встроенного в мейл агента, то sniff ловит только кракозябрики и не важно на каком языке написанно сообщение на инглише или на русском. Подскажите как можно решить данную проблему?

      У меня на работе все пользуются Qip’ом, поэтому с проблемой не сталкивался, и подсказать, соответственно, нечего. А вообще нужно копать в сторону кодировок, используемых мейл@агентом, или заставлять юзеров использовать строго определенный софт (у нас именно так) 🙄

    • Совсем недавно решил исправить данную проблему, есть вариант работающего скрипта, исправлены многие глюки при ловле сообщений ICQ. С qip действительно проблем не наблюдалось. Готов предложить свой вариант скрипта aimSniff.Cyr-005.pl 🙂 Позже после окончательного тестирования выложить его в сети официально 😉

  3. Привет, у меня проблема записи логов в базу не происходит, в консоли AIM Sniff он просто у меня слушает на внутреннем интерфейсе ну ничего не ловит, как обойти эту проблему
    ##########################################################
    AIM Sniff v. 0.9dr005
    Developed by: Shawn Grimes
    Realtex-sux and demiurgie based Cyrillic patches are made by amdk7.
    ##########################################################
    Beginning Sniff...
    FILTER: port 5190

    и все больше ничего не происходит!!!simple123

  4. FreeBSD gate 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Tue Jun 16 16:58:19 SAMST 2009 simple@gate.skill-plus.local:/usr/obj/usr/src/sys/ISORT i386
    да используется прокси порт 3128 связка sams squid rejik ntlm, демон в памяти висит слушает вот cfg файл aimsniff /usr/home/simple/>cat /usr/local/etc/aimSniff.cfg
    dev=age0
    filter='tcp and port 3128'
    daemon=1
    host=localhost
    database=aimsniff
    password=1sort
    useSyslog=1


      • ifconfig
        age0: flags=8943 metric 0 mtu 15 00
        options=319b
        ether 00:1e:8c:ba:97:57
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX )
        status: active
        rl0: flags=8843 metric 0 mtu 1500
        options=8
        ether 00:14:d1:10:bc:4d
        inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX )
        status: active
        rl1: flags=8802 metric 0 mtu 1500
        options=8
        ether 00:14:d1:10:b8:22
        media: Ethernet autoselect
        status: no carrier
        plip0: flags=108810 metric 0 mtu 1500
        lo0: flags=8049 metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        pflog0: flags=0 metric 0 mtu 33204
        pfsync0: flags=0 metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128

          • да вот сейчас выдает перехватывает сообщения, спасибо, 😛 а почему он тогда не берет эти настройки с конфигунационого файла, пути прописаны правильные к файлу 😥

              • Ответа конечно я наверное не дождусь 😥

                Ну почему же? 😆 Вариантов всего два: не правильные пути и / или не правильные права доступа к файлу конфигурации (это если запускаете не под root’ом).

  5. Спасибо за помощь разобрался, не хватало модуля p5-DBD-mysql, все таки в статье надо у помянуть про это модуль чтобы не наступали на грабли в будущем другие 😛 !!! Спасибо за помощь!!!

    • не хватало модуля p5-DBD-mysql

      Здесь уже затрагивался этот вопрос 😉

      !!! Спасибо за помощь!!!

      Всегда пожалуйста. Я рад, что все получилось 🙂

  6. Здравствуйте!
    У меня aimsniff не пишет в базу 🙁
    Мой конфиг aimSniff.cfg:

    dev=em0
    filter='tcp and port 3128'
    daemon=1
    host=localhost
    database=aimsniff
    user=aimsniff
    password=aimsniff
    useSyslog=1

    С фильтром игрался. ничего не помогло. (менял порт)
    Если запустить так:

    /usr/local/bin/aimSniff.Cyr-005.pl -d=em0 --nodb >> /tmp/icq_messages_log.txt
    tail -f /tmp/icq_messages_log.txt

    Все работает.
    В чем может быть дело?

    • Когда отправляю сообщения…
      tail -f /var/log/messages пишет

      Jul 2 09:46:24 root kernel: em0: promiscuous mode disabled
      Jul 2 09:46:24 root kernel: em0: promiscuous mode enabled
      Jul 2 09:46:35 root kernel: em0: promiscuous mode disabled
      Jul 2 09:46:35 root kernel: em0: promiscuous mode enabled

      т.е. получается 1 сообщение — 1 раз disable и enable
      Так и должно быть?

    • Проблема решена. 🙂

      root# pkg_info | grep mysql-server
      mysql-server-5.0.81 Multithreaded SQL database (server)
      root# cd /usr/ports/
      root# make search name="p5-DBD-mysql50"
      Port: p5-DBD-mysql50-4.010
      Path: /usr/ports/databases/p5-DBD-mysql50
      Info: MySQL 5.0 driver for the Perl5 Database Interface (DBI)
      Maint: skv@FreeBSD.org
      B-deps: mysql-client-5.0.81 p5-DBI-1.60.7 p5-Storable-2.18 perl-5.8.9_2
      R-deps: mysql-client-5.0.81 p5-DBI-1.60.7 p5-Storable-2.18 perl-5.8.9_2
      WWW: http://search.cpan.org/dist/DBD-mysql/
      root# cd /usr/ports/databases/p5-DBD-mysql50
      root# make && make install && make clean

  7. А как сделать что бы функция срабатывала ucwords(gethostbyaddr($rs["ip"])), если DNS на другом сервере?

    • Здравствуйте!

      А как сделать что бы функция срабатывала ucwords(gethostbyaddr($rs[«ip»])), если DNS на другом сервере?

      Настроить резолвинг имен на этом сервере 😉

        • это и есть DNS

          Еще есть host.conf и nsswitch.conf (в них задаются наборы и порядок опроса служб разрешения имен). Ну и файрволы должны иметь соответствующие правила.

  8. Здравствуйте. Установил всё по вашей статье, но есть одна проблемка. В базу не пишутся русские сообщения. При использовании команды aimSniff.Cyr-005.pl -d=rl0 --nodb всё прекрасно ловится и в консоли я наблюдаю, кто что пишет на русском языке, а вот в базу никак не идут они, поле message пустое. MySql 5.0, кодировка utf8. FreeBSD 7.1.

    • Здравствуйте!

      поле message пустое

      А все остальные поля заполнены? Или вообще в базу ничего не пишется?

      • все остальные заполнены, если переписка на английском то всё нормально пишется.

        • все остальные заполнены, если переписка на английском то всё нормально пишется

          Однозначно, проблема в MySQL. Точнее сказать не могу. Начните с добавления log=... в секцию [mysqld] файла /etc/.my.cnf, если анализ лога ничего не даст, обращайтесь к документации MySQL.
          P.S.: пожалуйста напишите решение проблемы, когда разберетесь 🙄

          • включил логи. В логах поле message=»……» колл-во точек равно колл-ву букв в слове. 😕

            • В логах поле message=»……» колл-во точек равно колл-ву букв в слове. 😕

              На вскидку, или MySQL собран без поддержки Unicode (сам когда ставил, кажется, ничего не менял на этот счет) или конфигурация сервера/базы чем-то не нравится скрипту. Еще раз отправляю Вас к документации MySQL. Сам ни с чем похожим не сталкивался. Кракозяблы бывали, а вот пустых мест не припоминаю 🙁

                • В текстовый файл тоже пишутся точечки

                  На экран русские буквы а в текстовый файл точки? Чудеса какие-то. p5-Unicode-Map8 установлен? Хотя без него и на экран русские буквы не выводятся нормально 🙄

                  • Мда, чудеса))) Собрал все на другой машине freeBSD 7.1 То же самое((( В какую сторону копать не знаю 🙄

                    • Собрал все на другой машине freeBSD 7.1 То же самое

                      Получается, что в сторону настроек ОС. Если на экране все по русски, да еще и в базу что-то пишется, то значит все нужные модули есть. Может с настройками локали что-то не так или с настройками Perl’a 🙄

                    • Ура. Всё разобрался)) Забыл сказать что я делал всё удалённо через putty. А там русские буквы не отображаются. Изменил локаль на cp1251 и mysql собрал с поддержкой cp1251. Всё пишется, всё работет 😀

                    • Всё пишется, всё работет 😀

                      Поздравляю! Как я и говорил, чудес не бывает 😆

  9. SergeySL Вопрос к Вам как в автору статьи.

    У меня такая проблема или не проблема это…
    У некоторых клиентов нету хендла.
    т.е. человек пишет моему юзеру хендл «to» пустой и если пользователь пишет человеку хендр «from» пустой.

    Возможно исправить?

    • У некоторых клиентов нету хендла. Т.е. человек пишет моему юзеру хендл “to” пустой и если пользователь пишет человеку хендр “from” пустой. Возможно исправить?

      Так бывает, если оба абонента находятся в одной физической сети, т.е., например, в Вашей локалке. На официальном форуме AimSniff написано, что это нормальное явление 😕

        • У меня наоборот! 😐

          У себя такого не наблюдал. Смотрите официальный форум AimSniff, думаю, что там должен быть ответ 🙄

          • У меня такая же фигня наблюдается. Нет ни одной строчки, где были бы заполнены и From и To.
            Форум пока не работает ((

            • Нет ни одной строчки, где были бы заполнены и From и To

              Такое возможно из-за некорректной настройки фильтра. Это не единственная причина, но сам сталкивался 🙄

  10. Друзья! Подскажите, пожалуйста, такую вещь — хочу перевести кодировку БД в cp1251 — подправил скрипт aimSniff.Cyr-005.pl, чтобы он не переводил ср1251 в кои8, в консоли всё чудесно, в файлик всё скидывается чудесно. А вот в mysql всю кириллицу лупит вопросиками, причём mysql настроен полностью на ср1251. Куда копать?

  11. А разве AimSniff пишет сообщения в базу не в UTF8?

    Хм..в скрипте и комментариях в нём указано о переводе cp1251 в koi8.
    Да и аська сообщения кидает в cp1251.

    Впрочем, перенастроил сервак на UTF8 — заработало=) Хотя в браузере кодировку ставит ср1251. Пойду читать про кодировки=)

    • Пойду читать про кодировки=)

      Я не знаю, какую кодировку он использует, однако:
      1. В дампе базы есть SET NAMES utf8;
      2. Без p5-Unicode-Map8 русские буквы не понимает.
      Поэтому предположил, что UTF8 🙄

  12. Cделал следующее:
    1. aimSniff.Cyr-005.pl -d=em0 --nodb > aimsniff.txt (перевел вывод с консоли в файл)
    Открыл файл в — русские буквы видны в кодировке ср1251.
    2. Все кодировки сервера — utf8, браузер делает запрос, выдаются результаты, которые можно прочесть только в ср1251, в утф8 кириллица предстаёт вопросиками в чёрных ромбиках (браузер — Opera)
    3. Делаю в консоли select * from logs — кириллица примерно такая ©я?п?п?п?я?я?я?п?я?п?я
    4. Опытным путем установил, что сделав character_set_results=koi8r, нормальные результаты вижу и в консоли FreeBSD.
    ___________
    Вывод: Скрипт aimsniff работает отлично. Проблемы из-за кодировок MySQL и консоли FreeBSD.

    P.S. Не совсем отлично. Тоже не вижу своего UIN в логах, независимо от расположения собеседника. Пусто в полях From и To (соответственно в исходящих и входящих сообщениях)

  13. Возникла проблема, скрипт настроен отлично. Сообщения ловит и записывает базу как на русском так и на инглише. Но вот для примера работы был взят клиент SIM с форматом сообщений UTF — их сниффер попросту пропускает и не парсит, при дебугге обрабатывает как просто пакет. Если же в SIM переключить формат сообщений в RTF — все начинает работать.

  14. Вот значит где все вредители собрались 🙂
    У меня на работе тоже аську сперва запретили, а затем разрешили, но всю переписку просматривают…
    Неужели заняться больше нечем?

    • Уважаемый, я ничего не просматриваю. Меня попросили сделать, я сделал (и денежку, естественно, за это получил). Других иногда тоже просят сделать, поэтому и писанина подобная может пригодиться 😉

      • У таких «специалистов», как Вы, действительно просто, а у нормальных системных администраторов права доступа NTFS настроены, и, соответственно, юзеры самостоятельно плагины не ставят, даже если им очень хочется. Если интересно, то для корректной работы старого Qip под юзерскими правами достаточно разрешить запись в C:Program FilesQipUsers, а новый Qip вообще хранит параметры аккаунта в профиле пользователя 😉

        • Да утерли вы мне нос с правами на NTFS не подумавши ляпнул. Ну что же будем работать в этом направлении обхода прав и привелегий.

            • Ну это всегда пивасика вместе попить и не только его! Ну иногда бывают такие пи….! Да и просто интересно стало 🙂

              • Среди менеджеров по продажам, маркетологов и прочего офисного планктона, считающего себя элитой современного общества, не пи… — исключение из правил. А вообще, для меня важен человек, а не его профессия. Я с удовольствием помогаю людям, которых уважаю, и очень не люблю иметь дело с этими самыми пи…, которых с каждым днем становится все больше 🙂

  15. Здравствуйте!

    aimSniff.Cyr-005.pl -d=bge1 --nodb выдает ошибку: Can't locate Unicode/Map8.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach usr/local/lib/perl5/5.8.8 .) at /usr/local/bin/aimSniff.Cyr-005.pl line 42.
    BEGIN failed--compilation aborted at /usr/local/bin/aimSniff.Cyr-005.pl line 42.

    • Указывайте не bge1, а тот интерфейс, который смотрит в локальную сеть. Список интерфейсов можно получить командой ifconfig, а дальше по IP-адресу смотрите 😉

      • Спасибо! Не догадалась сама :(. Но это получилось на так сказать тренировочном компе. А вот на рабочем не могу пересобрать перл (с GDBM чтоб был):(, пишет:

        1 out of 1 hunks failed--saving rejects to /lib/ExtUtils/MM_Unix.pm.rej
        >>Patch patch-MM_Unix.pm failed to apply cleanly.
        >>Patch(es) patch-INST_PREFIX.t patc-MM_Any.pm applied cleanly.
        Error code 1

          • Скажите пожалуйста, а можно как-то определить какие порты необходимо обновить? pkg_version -v говорит, что одни up-to-date with port, а другие comparison failed.

              • Моя система не понимает команды portversion. pkg_version -v это не то же самое? Если pkg_version говорит "up-to-date with port" значит не нужно обновлять или нужно?

              • Я удалила перл и попробовала поставить заново как раньше без GDBM. Пишет ту же ошибку, что и предыдущий раз. Значит дело не в том, что порты необновленные. Раньше то перл устанавливался. Где же тогда искать…

                    • 1. Установите порты /usr/ports/ports-mgmt/portupgrade и /usr/ports/sysutils/fastest_cvsup;
                      2. Выполните команду fastest_cvsup -c ru, она покажет самый быстрый сервер обновлений;
                      3. Выполните команду csup -L 2 -h <ВышеуказанныйСервер> /usr/share/examples/cvsup/ports-supfile;
                      4. Выполните команду portsdb -Uu, она перестроит индексную базу данных коллекции портов;
                      5. Установите порт /usr/ports/lang/perl5.8, только не забудь отметить USE_PERL.
                      P.S.: Вы блондинка?

      • Скажу по секрету: работа у меня такая. Многопрофильная, но не очень «глубоко». От сетевого оборудования до эникея 🙂

      • Все работает, огромное спасибо.
        Но столкнулся с небольшой проблемкой — в базу попадают записи вида
        :│╪lG╔▒oЬЗoAway Status Messagetext/x-aolrtf
        их как то можно фильтровать?

  16. AimSniff завести не удалось. Поставил imspector — гораздо меньше телодвижений для установки + удобная вебморда в комплекте.

    • Я уже давно не интересуюсь судьбой AimSniff (необходимость отпала). Придется вернуться к вопросу, попробую imspector.

  17. aimSniff.Cyr-005.pl -d=lo0 --nodb:

    Can't load '/usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so' for module Net::Pcap: /usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so: Undefined symbol "PL_sv_undef" at /usr/local/lib/perl5/5.12.4/mach/DynaLoader.pm line 200.
    at /usr/local/bin/aimSniff.Cyr-005.pl line 36
    Compilation failed in require at /usr/local/bin/aimSniff.Cyr-005.pl line 36.
    BEGIN failed--compilation aborted at /usr/local/bin/aimSniff.Cyr-005.pl line 36.

    пëрл как видно 5.12
    можено это как то поечить не ставя 5.8?

    • Если я ничего не путаю, оно и на 5.14 работало.

      Can't load '/usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so' for module Net::Pcap: /usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so: Undefined symbol "PL_sv_undef" at /usr/local/lib/perl5/5.12.4/mach/DynaLoader.pm line 200.

      Упомянутый модуль установлен?

  18. ll /usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so
    -r-xr-xr-x 1 root wheel 71K 25 ноя 00:15 /usr/local/lib/perl5/site_perl/5.12.4/mach/auto/Net/Pcap/Pcap.so*
    ll /usr/local/lib/perl5/5.12.4/mach/DynaLoader.pm
    -r--r--r-- 1 root wheel 24K 25 ноя 00:20 /usr/local/lib/perl5/5.12.4/mach/DynaLoader.pm

    Всё как в статье. Смотрел эти line 36 и 200 т.к. в пёрле не силён хз чё там не так 🙁

  19. Ставил только в ознакомительных целях, пока что не до этого. Если понадобиться, то вернусь к этому вопросу и отпишусь — чё получилось 🙂

Оставить комментарий