Ubuntu 16.04에서 secure boot로 인한 module 적재 문제

Secure Boot 최근 OS는 Secure boot라는 표준을 지원한다. PC가 부팅되는 과정에서 신뢰할만한 모듈(EFI 응용 프로그램, firmware, driver)인지를 전자 서명(Signature)을 통해 확인하는 방법이다. 이 전자서명이 유효할 경우에만 PC를 부팅하고 OS로 제어를 넘겨주게 된다. BIOS 에서 해당 항목이 활성화되어 있고 OS에서 해당 기능을 지원하는 경우에 동작한다. 예제 프로그램

해당 모듈을 컴파일 한 후 sudo insmod hello.ko 명령을[더 읽기…]

VMware Workstation을 이용한 테스트 환경 구축

테스트 네트워크 구축의 개요 Suricata를 네트워크에 설치하고 테스트 환경을 구축하는데는 많은 리소스가 필요하다. Suricata를 설치할 NIC 두장이 설치된 PC, Victim 역할을 할 호스트 PC, 이더넷 케이블, 스위치와 같은 네트워크 장치 뿐만 아니라 이를 설치할 장소까지. 협소한 공간에 이리저리 널려있는 장치들… 생각만해도 머리가 아프다. 그러나 VMware나 openstack과 같은 가상 환경을 이용하면 PC 한대만으로도 이러한 구성이 가능하다.[더 읽기…]

Ubuntu 16.04에서 eclipse-neon과 tomcat8 연동하기

JDK 설치

다른 버전을 설치하려면 apt-get install에 다음과 같이 입력한다. JDK 6: oracle-java6-installer JDK 7: oracle-java7-installer JDK 8: oracle-java8-installer JDK 9: oracle-java9-installer /etc/environment 에 JAVA_HOME 환경 변수를 설정

여러 버전의 JDK를 설치했을 경우에는 java, javac 명령을 실행했을때 기본적으로 실행될 JDK를 다음 명령어로 지정한다.

Tomcat 8 설치

/usr/share/tomcat8에 설치가 완료되나 conf, log 가 다른[더 읽기…]

UNIX 네트워크 I/O 모델

* 이 자료는 UNIX Network Programming 책에 나온 내용을 정리한 것입니다. Unix 에서는 5가지의 네트워크 I/O 모델이 있다. blocking I/O nonblocking I/O I/O multiplexing signal driven I/O asynchronous /O 소켓 통신에서는 다음과 같은 과정을 거쳐서 패킷을 어플리케이션으로 가져온다. 첫번째로는 네트워크에서 데이터가 오기를 기다리는 것과 패킷이 도착하였으면 커널 내부의 buffer에다가 복사하는 것. 두번째가 커널 buffer에 저장된[더 읽기…]