2014-01-08

SIPP 3.1에서 Authentication과 PCAP를 사용하기

1. Authentication과 PCAP를 사용하기 위해서는 SIPP를 새로이 compile해야 합니다.
compile하기 전에 Authentication를 위해 openssl이 설치되어 있는지 확인합니다.
Code: Select all
[root@www ~]# which openssl
/usr/bin/openssl

만약에 설치가 되어 있지 않으면 아래의 사이트에서 download받아 설치합니다.
http://www.openssl.org/source/
그리고 PCAP를 위해 libpcap이 설치 되어 있는지도 확인합니다.
Code: Select all
[root@www ~]# ls -l /usr/include/pcap.h
ls: cannot access /usr/include/pcap.h: No such file or directory
[root@www ~]# ls -l /usr/local/include/pcap.h
-rw-r--r-- 1 root root 8453 Oct  1 13:46 /usr/local/include/pcap.h
[root@www ~]#

만약에 설치가 되어 있지 않으면 아래의 사이트에서 download받아 설치합니다.
http://sourceforge.net/projects/libpcap/

2. 위 library들의 설치되어 있음을 확인했으면 이제 compile을 하도록 합니다.
Code: Select all
[root@www ~]# cd sipp.svn
[root@www sipp.svn]# make pcapplay_ossl
make OSNAME=`uname|sed -e "s/CYGWIN.*/CYGWIN/"` MODELNAME=`uname -m|sed "s/Power Macintosh/ppc/"` OBJ_TLS="auth.o sslinit.o sslthreadsafe.o  milenage.o rijndael.o" TLS_LIBS="-lssl -lcrypto" TLS="-D_USE_OPENSSL -DOPENSSL_NO_KRB5"  OBJ_PCAPPLAY="send_packets.o prepare_pcap.o" PCAPPLAY_LIBS="-lpcap `if test -f ./ext; then echo -L./ext/lib; fi;`" PCAPPLAY="-DPCAPPLAY `if test -f ./ext; then echo -I./ext/include; fi;`" sipp
'make[1]: Entering directory `/root/sipp.svn'
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o auth.o auth.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sslinit.o sslinit.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sslthreadsafe.o sslthreadsafe.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o milenage.o milenage.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o rijndael.o rijndael.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o send_packets.o send_packets.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o prepare_pcap.o prepare_pcap.c
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o xp_parser.o xp_parser.c
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o message.o message.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o scenario.o scenario.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o screen.o screen.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o call.o call.cpp
gcc   -D__LINUX -pthread  -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o comp.o comp.c
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o sipp.o sipp.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o stat.o stat.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o actions.o actions.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o variables.o variables.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o infile.o infile.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o deadcall.o deadcall.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o task.o task.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o socketowner.o socketowner.cpp
g++   -D__LINUX -pthread -Wno-write-strings -DSVN_VERSION="\"unknown\"" -D_USE_OPENSSL -DOPENSSL_NO_KRB5 -DPCAPPLAY      -I. -I/usr/include/openssl  -c -o listener.o listener.cpp
gcc     \
    -o sipp auth.o sslinit.o sslthreadsafe.o  milenage.o rijndael.o send_packets.o prepare_pcap.o xp_parser.o message.o scenario.o screen.o call.o comp.o sipp.o stat.o actions.o variables.o infile.o deadcall.o task.o socketowner.o listener.o -ldl -lpthread -lncurses -lstdc++ -lm -L /usr/local/lib -L /usr/lib -L /usr/lib64  -lssl -lcrypto -lpcap
'make[1]: Leaving directory `/root/sipp.svn'
[root@www sipp.svn]#