socket programming7 DDoS Generator(2) 서버.cpp 클라이언트.cpp 준비화면 (1) ping 입력시 =>pong 출력 후 종료 (2) attack 입력시 1. HTTP Get Flooding 공격 실행 2. Slowris 공격 실행 2020. 4. 2. DDos Generator(1) 구현한 기능 (1) C&C(서버) 구조 >사용자로부터 명령을 입력받음 >>이때 ping을 입력 (2) bot(클라이언트) 구조 >서버로 pong send 서버 스레드풀을 만들기 위한 헤더들 이때 thread는 thread를 만들기 위한 헤더 bot(클라이언트) 2020. 3. 18. Thread pool 개념 정리 Thread pool >스레드(Thread) 컴퓨터 내부적으로 운영체제(OS)가 요청을 받아들여 메모리 공간을 확보해주고 할당해 주는 곳 >스레드 풀(Thread Pool) 미리 스레드를 일정 수량 만들어두고 작업하는 방식 스레드를 몇 개 생성해두고 모든 작업을 그 한정된 스레드로 재활용하며 작업한다고 생각하면 어플리케이션에서 사용자로부터 들어온 요청을 작업큐에 넣음-> 스레드풀은 작업큐에 들어온 Task 일감을 미리 생성해 놓은 Thread에게 일감을 할당->일을 다 처리한 Thread들은 다시 어플리케이션에게 결과값을 리턴 >Thread Pool을 사용해야 되는 이유 1. 프로그램 성능저하를 방지하기 위해 2. 다수의 사용자의 요청을 수용하고, 빠르게 처리하고 대응 3. 스레드 생성/소멸에 드는 비용.. 2020. 3. 18. 멀티스레드 1. 프로세스 vs 스레드 프로세스 - 실행 중인 프로그램 - 디스크로부터 메모리에 적재되어 CPU의 할당을 받음 - 주소 공간, 파일, 메모리 등을 할당받음 스레드 - 프로세스의 실행 단위 - 프로세스 내의 주소 공간이나 자원 공유 - 스택과 PC 레지스터 값을 가짐 2. 멀티 프로세스 vs 멀티 스레드 멀티 프로세스 -자신만의 메모리 영역을 가진다. - 스레드 보다 시간과 비용이 많이 든다. - 더 많은 CPU 또는 프로세서를 시스템에 추가함으로써 컴퓨팅 속도를 높임 Ex) 뮤직 플레이어 여러 대 (프로세스 여러 개)를 동시에 실행시켜, 노래가 동시에 재생 멀티 스레드 - 하나의 프로세스를 다수의 실행 단위로 구분하여 자원 공유 등 중복성을 최소화하여 수행 능력을 향상시키는 것 - 스레드는 독립적인 .. 2020. 3. 16. 이전 1 2 다음