snort-2.8.3
先日、snortの最新版がリリースされました。Solaris10ではインストールに少し工夫が必要でしたので、メモしておきます。
特に、以下のmakeを実施したい方にお勧めします。
・Solaris10にて、snortを64bitでmakeしたい。
・gccはSolaris10に添付のものを、そのまま利用したい。
snortのmakeに必要なlibpcapとpcreは、予め以下のインストールを行っておいてください。
・/usr/local/libpcap以下へ、64bitでmakeしインストールしておくこと。
・/usr/local/pcre以下へ、64bitでmakeしインストールしておくこと。
①環境変数の設定
64bitでmakeを行うため、CFLAGS、CPPFLAGS、LDFLAGSに"-m64"が含まれるよう、調整しておいてください。
②snortのconfigureを実施
前述の環境におけるconfigureの例を、以下に示します。
./configure --prefix=/usr/local/snort
--with-libpcap-includes=/usr/local/libpcap/include
--with-libpcap-libraries=/usr/local/libpcap/lib
--with-libpcre-includes=/usr/local/pcre/include
--with-libpcre-libraries=/usr/local/pcre/lib
--enable-64bit-gcc
③makeの準備
そのままmakeすると、/usr/include/sys/types32.hで定義されたtimeval32と、./src/pcap_pkthdr32.hで定義されたtimeval32が重複します。
/usr/include/sys/types32.h:50: error: redefinition of `struct timeval32'
この状況を回避するために、以下の二つのファイルを編集してください(timeval32を、timeval32pと変更して用います)。
・vi ./src/pcap_pkthdr32.h
「struct timeval32」を「struct timeval32p」に変更
「struct timeval32 ts;」を「struct timeval32p ts;」に変更する。
・vi .src/event.h
「struct timeval32 ref_time;」を「struct timeval32p ref_time;」に変更する。
③makeの実施とインストール
make
make install
④64bitバイナリの確認
% ldd /usr/local/snort/bin/snort
libpcre.so.0 => /usr/local/pcre/lib/libpcre.so.0
libm.so.2 => /usr/lib/64/libm.so.2
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libdl.so.1 => /usr/lib/64/libdl.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libgcc_s.so.1 => /usr/sfw/lib/64/libgcc_s.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libmd5.so.1 => /usr/lib/64/libmd5.so.1
libscf.so.1 => /usr/lib/64/libscf.so.1
libdoor.so.1 => /usr/lib/64/libdoor.so.1
libuutil.so.1 => /usr/lib/64/libuutil.so.1
お疲れ様でした。
| 固定リンク


コメント