ET를 이번 테스트에서 사용할 수 없어서 알 수 없었다.
그런데 확실히 ET를 사용하면 버릴 패킷은 확실히 버릴수 있다는게 좋은점 같다.
ET를 사용하면 소켓과 버퍼를 정확하게 컨트롤 해야한다는게 단점이라고 누가 그러긴 했지만...
서버 프로그램에서 자신이 정확하게 컨트롤 하지 않으면 안되지 않는가...
버릴건 버리고 읽을것만 읽는게 나은거 아닌가...
SOCK_PACKET의 경우 어떻게 핸들링하는것이 가장 좋은지는 역시 wireshark처럼 하는게 답이라고 할 수도 있지만. 흠.. 글쎄-_-;;
glibc컴파일 -펌
기본 디렉토리에서 컴파일이 안된다.
glibc를 컴파일 할 때 glibc말고 glibc와 같이 있는 linuxthread 패키지도 같이 받아서 그것 먼저 configure하고 glibc를 configure해야한다.
다른 디렉토리를 만들고 해당 디렉토리에서 소스코드가 있는 디렉토리에 있는 configure를 실행한다.
그러면 Makefile이 생성되고 이후의 방법은 같다.
libpcap 컴파일- 펌
ac_cv_linux_vers=2 ./configure --host=arm-linux CC=arm-linux-gcc --build=i386-pc-linux-gnu --with-pcap=linux
make
openssl - 잡지 마소 펌
① www.openssl.org에서 소스를 다운받아 압축을 해제한다.
② ./Configure linux-elf-arm --prefix=/usr/local/SSL --openssldir=/usr/ local/SSL/OPENSSL no-threads no-zlib no-asm
③ Makefile에서 CC를 크로스 컴파일러(ex. arm-linux-gcc)로 변경한다. Makefile이 여러 개인데 모두 변경해 주어야 한다.
④ apps 디렉토리 안에 있는 makefile에서 LIBSSL에 ‘-ldl’을 추가시킨다. 또 test 디렉토리의 makefile에 LIBCRYPTO에 ‘-ldl’을 추가시킨다.
⑤ make; make install을 통해서 컴파일한다.
⑥ arm-linux-gcc -print-search-dirs로 라이브러리 검색 디렉토리 목록을 찾은 후 액세스 가능한 디렉토리에 생성된 라이브러리 파일 2개와 pkgconfig 디렉토리를 복사한다.