mzeus писал(а) Wed, 07 May 2008 08:03
Народ! Выручайте! Поручило новое руководство фирмы настроить контроль трафика. Порывшись в Сети нашел интересное решение: NeTAMS.
Но вот проблемы начались сразу с установки. Запускаем make (как предлагают разарботчики) и получаем:
sh configure.sh
cd lib && make library
make[1]: Entering directory `/usr/src/netams-3.4.1rc1/lib'
make[1]: Цель `library' не требует выполнения команд.
make[1]: Leaving directory `/usr/src/netams-3.4.1rc1/lib'
cd src && make all
make[1]: Entering directory `/usr/src/netams-3.4.1rc1/src'
cd ../lib && make library && cd ../src
make[2]: Entering directory `/usr/src/netams-3.4.1rc1/lib'
make[2]: Цель `library' не требует выполнения команд.
make[2]: Leaving directory `/usr/src/netams-3.4.1rc1/lib'
g++ netamsctl.o -o netamsctl -L../lib -lnetams
g++ netflow.o ascii2netflow.o -o ascii2netflow -L../lib -lnetams
g++ netflow.o ulog2netflow.o -o ulog2netflow -L../lib -lnetams -lipulog
g++ flowprobe.c -c -g -Wall -pipe -I/usr/local/include -I../lib -DLINUX -D_BSD_SOURCE -I/usr/include/pcap -I/usr/libipq -I../lib/libipulog/include -I/usr/include -DHAVE_BW -DFAST_FW_CHECK -DLAYER7_FILTER -DUSE_MYSQL -I/usr/include/mysql -DHAVE_BILLING -DDEBUG -DUSE_LIBRADIUS -DHAVE_PAM -D_REENTRANT -D_THREAD_SAFE
In file included from flowprobe.c:19:
ds_libpcap.h:19:26: error: pcap.h: Нет такого файла или каталога
In file included from flowprobe.c:19:
ds_libpcap.h:54: error: ISO C++ forbids declaration of ‘pcap_t’ with no type
ds_libpcap.h:54: error: expected ‘;’ before ‘*’ token
flowprobe.c:137: warning: deprecated conversion from string constant to ‘char*’
flowprobe.c: In function ‘int main(int, char**)’:
flowprobe.c:163: error: ‘pcap_t’ was not declared in this scope
flowprobe.c:163: error: ‘pcap’ was not declared in this scope
flowprobe.c:164: error: aggregate ‘bpf_program pf’ has incomplete type and cannot be defined
flowprobe.c:165: error: ‘PCAP_ERRBUF_SIZE’ was not declared in this scope
flowprobe.c:201: warning: deprecated conversion from string constant to ‘char*’
flowprobe.c:224: error: ‘errbuf’ was not declared in this scope
flowprobe.c:224: error: ‘pcap_open_live’ was not declared in this scope
flowprobe.c:233: error: ‘pcap_datalink’ was not declared in this scope
flowprobe.c:242: error: ‘pcap_compile’ was not declared in this scope
flowprobe.c:243: error: ‘pcap_geterr’ was not declared in this scope
flowprobe.c:246: error: ‘pcap_setfilter’ was not declared in this scope
flowprobe.c:247: error: ‘pcap_geterr’ was not declared in this scope
flowprobe.c:251: error: ‘pcap_freecode’ was not declared in this scope
flowprobe.c:275: error: ‘pcap_dispatch’ was not declared in this scope
flowprobe.c:277: error: ‘pcap_geterr’ was not declared in this scope
make[1]: *** [flowprobe.o] Ошибка 1
make[1]: Leaving directory `/usr/src/netams-3.4.1rc1/src'
make: *** [all] Ошибка 2
Сказать, что я несилен в Linux - это ничего не сказать (учусь тока). Читал инструкцию, там сказано: "Зачастую ошибки компиляции возникают от того, что для каждой версии Линукса пути до заголовочных файлов и библиотек разные. Предлагается дописать необходимые пути в начало скрипта configure.sh и повторить сборку через make distclean && make."
Что это за пути и как узнать как они должны выглядеть в OpenSUSE я не в курсе.
Поэтому помогите, плз! Чего от меня хотит эта зверь-машина.
Заранее спасибо!
Есть такая библиотека libpcap (Packet CAPture), которая отвечает за выдергивание пакетов из ядра. По всей видимости, у Вас нет исходников этой библиотеки. Попробуйте поискать через YaST с ключевым словом pcap. Возможно, найдете что-нибудь с пометкой -devel (тобишь для разработчиков). Вот это и устанавливайте, думаю, поможет.