2011년 1월 11일 화요일

tshark 파일 사이즈가 이렇게 컸었나?

와이어 샤크를 자주 사용했는데, 문득 사이즈는 얼마나 되었는지 깊게 보지 않았던것 같다.
리눅스 환경에서 자주 사용하던 tshark 용량을 살펴보니, 작은 크기가 아니었다.

정적으로 컴파일된 tshark 의 경우는 무려 49메나 되었다.
# ls -lh tshark
-rwxr-xr-x 1 root root 49M 2010-12-16 10:48 tshark

반면 Shared 로 컴파일한 tshark 는 겨우 300K 이었다. 물론, 공유 라이브러리 이기 때문에 이 내면을 들여다 보면, 큰 라이브러리들을 로드한다.
# ls -l tshark
-rwxr-xr-x 1 root root 301978 2010-12-16 11:22 tshark

ldd 로 사용되는 라이브러리 들을 살펴보자.

# ldd tshark
        linux-vdso.so.1 =>  (0x00007fffaf5ff000)
        libwiretap.so.0 => /home/wireshark-1.4.2/lib/libwiretap.so.0 (0x00007f43ac07a000)
        libwireshark.so.0 => /home/wireshark-1.4.2/lib/libwireshark.so.0 (0x00007f43a88c7000)
        libwsutil.so.0 => /home/wireshark-1.4.2/lib/libwsutil.so.0 (0x00007f43a86c5000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f43a8402000)
        libm.so.6 => /lib/libm.so.6 (0x00007f43a817f000)
        libpcap.so.1 => /usr/local/lib/libpcap.so.1 (0x00007f43a7f47000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f43a7d30000)
        libc.so.6 => /lib/libc.so.6 (0x00007f43a79dd000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f43a77da000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f43a75d6000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0x00007f43a73ae000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f43ac2e2000)

이중 libwireshark.so 를 들여다 보니, 그 크기는 무려 60메가다.

-rwxr-xr-x 1 root root  60M 2010-12-16 11:22 ../lib/libwireshark.so.0.0.1

이렇게 사이즈가 컸었나 하는 생각이 문득 든다. 참고로, 정적 방식과 Shared 방식으로 컴파일 시간을 비교해 보았더니 정적 컴파일은 8분 Shared 방식에는 4분이 소요되었다.

1) 정적컴파일
real    8m44.375s
user    7m28.108s
sys     1m5.848s
2) Shared 방식 컴파일
real    4m52.040s
user    4m12.156s
sys     0m40.743s

컴파일도 오래 걸리고, 그 크기도 크지만 그래도 네트워크 분석에는 최고의 도구임은 틀림없다.   :-)

댓글 없음:

댓글 쓰기