컴퓨터 보안 HTTP Get Flooding Attack 실습
Section 1. 실습 전 준비사항
1. 서버 측
- APMsetup Monitor 실행

- WireShark 실행

- IP 주소 획득 (CMD - ipconfig 명령어)

2. 클라이언트 측
- Firefox Web Browser 실행
- Terminal 실행
- IP 주소 획득

3. 공격자 측
- Terminal 실행
- takeitdown.py 파일이 있는 디렉토리로 change directory

- IP 주소 획득

Section 2. 정상적인 HTTP Get Request & Response
1. WireShark 설정
① 로컬 영역 연결 체크하고 Start 누르기 
② 다음과 같이 Filter: 란에 서버와 클라이언트 ip 주소 입력 후 apply
2. Firefox로 확인
- 클라이언트 측 Firefox 주소창에 192.168.126.130 입력 (서버 IP 주소)
(아래 화면은 따로 만든 Main 홈페이지임, 다른 결과창이 떠도 OK)

3. Wget 명령어로 확인
- Terminal 상에서 아래와 같이 wget 명령어 입력

4. WireShark로 확인
- No. 416, 464, 465 : TCP 3-way handshaking
- No. 466 : HTTP Get Request
- No. 468 : HTTP Get Response

5. 결과
- 서버가 정상적일 때 사용자의 HTTP Get Request에 대해 정상적으로 Response를 보내는 것을 확인할 수 있었다.
Section 3. HTTP Get Flooding Attack
1. 공격 원리
- 수 많은 요청을 보내서 서버를 과부하 시키는 DOS 및 DDOS 공격
- 서버로 수 많은 HTTP Get Request를 보내서 서버의 자원을 모두 소비하도록 과부하 시키면 일반 사용자가 서비스 요청에 응답해줄 수 없는 상황이 됨

2. WireShark 설정
- Filter : ip.addr == 192.168.126.130 and ip.src == 192.168.126.132 and http
3. HTTP Get Flooding Attack 실행
4. 서버 측 상황
- 수 많은 HTTP Get 요청이 들어옴

5. 사용자 측 서비스 이용 불가 상황
- 동일하게 wget 명령어로 Request를 보내지만 이번에는 refused 됨

6. 결과
- 공격자가 takeitdown.py 공격 tool로 수 많은 HTTP Get 요청을 보내면
서버는 해당 요청들을 모두 처리하기 위해 자신이 가지고 있는 자원을 모두 사용하게 되고 이 때 일반적인 사용자가 요청을 보내면 이에 대한 응답을 할 수 없는 상황이 발생하는 것을 확인할 수 있었다.