2010년 8월 4일 수요일

리눅스 환경의 간단한 와이어샤크 컴파일은...

바로 전 포스팅에서 tshark 를 약간 수정하여 사용하는 부분에 대해서 설명하였다.


여기에 추가로 컴파일 과정에 대해서 간단히 덧붙이고자 한다. 컴파일은 *NIX 환경에서 한 것이고, 컴파일 전에
필요한 패키지들이 있다. 나의 경우는 기본으로 설치된 리눅스 환경에서, 필요한 패키지는 다음과 같은 것들이 있었다.

bison
flex
pkg-config
libglib

APT 패키지 설치가 가능한 환경이라면,
# apt-get install bison 과 같이 쉽게 설치가 가능하므로, ./configure 를 하는 과정에서 무엇이 없다고 하면
# apt-cache search pkg_name 으로 해서 찾아보면 쉽게 설치가 가능하다. X-Windows 가 설치되어 있지 않아
굳이 GUI 기반의 와이어샤크는 필요없었기에 --enable-wireshark=no 옵션으로 컴파일을 제외했고, GTK 도
사용안 하므로 --disable-gtktest 옵션을 주었다.

그럼 다음과 같이 컴파일을 위한 환경 준비를 위해 configure 를 실행해 주면 된다.

$ ./configure --enable-wireshark=no --disable-gtktest
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
.
. (삭제)
The Wireshark package has been configured with the following options.
                    Build wireshark : no
                       Build tshark : yes
                     Build capinfos : yes
                      Build editcap : yes
                      Build dumpcap : yes
                     Build mergecap : yes
                    Build text2pcap : yes
                      Build idl2wrs : yes
                      Build randpkt : yes
                       Build dftest : yes
                     Build rawshark : yes

             Install dumpcap setuid : no
                        Use plugins : yes
                    Use lua library : no
                   Build rtp_player : no
                        Use threads : no
             Build profile binaries : no
                   Use pcap library : yes
                   Use zlib library : yes
                   Use pcre library : no
               Use kerberos library : no
                 Use c-ares library : no
               Use GNU ADNS library : no
                Use SMI MIB library : no
             Use GNU crypto library : no
             Use SSL crypto library : no
           Use IPv6 name resolution : yes
                 Use gnutls library : no
     Use POSIX capabilities library : no
                  Use GeoIP library : no
$ make
$ make install


위 결과를 보는 것과 같이 와이어샤크는 컴파일하지 않는다고 "no" 가 나왔고 기타, 다른 라이브러리나
컴파일 되는 패키지 정보가 나온다. 즉, 본인이 사용하고자 하는 기능에 따라 해당 라이브러리도 있어야 되므로
configure 시 적절히 추가해 주어야 한다. 예를 들어, GeoIP 를 사용하겠다고 하면 --with-geoip=[경로] 옵션이
필요하게 된다. 사용가능한 옵션은

$ ./configure --help

로 확인할 수 있다. 와이어샤크는 오픈소스인 만큼 소스를 자유롭게 사용가능하므로 원하는 형태로
자유롭게 기능을 추가하거나 제거할 수 있다. 바로 이것이 오픈소스의 매력이며,
여러분들만의 와이어샤크를 만들어 볼 수 있는 기회를 줄것이다.

이전 포스팅에서 사용한 컴파일에 대해서 간략하게 소개한 것이므로, 좀더 깊게 컴파일 과정을 소개할 기회가
되는 대로 준비하겠다.

댓글 없음:

댓글 쓰기