Network Researching 
(Feat. League Of Legends) 
경기대학교 K.Knock S5 권혁규
목차 
• Protocol 
• OSI Layer 
• Port 
• HTTP 
• DNS 
• TCP/IP 
• 3 way hand shaking 
• UDP 
• DNS 
• SSH, Telnet 
• CSS (client side script) 
• SSS (server ..) 
• html/javascript/php 
• APM 
• cookie / session 
• GNU(GNU is Not UNIX) 
• gcc vs VC 
• 폰 노이만 아키텍쳐 
• HTTP 헤더 집중 탐구 
• proxy 란?
Protocol 
• 롤을 할때. 
-> 규칙이 필요하다. 
-> (Ex 탑,미드,봇 등) 
• 따라서 통신을 할 때 
-> 규칙이 필요하다. 
• 프로토콜의 종류 
-> IP, TCP, UDP, HTTP
Protocol 
통신에 대한 규칙 
<< 패킷 
패킷을 주고 받을 때 헤더의 내용이 특정 프 
로토콜(약속)을 준수함.
Protocol
OSI 7 Layer
OSI 7 Layer
OSI 7 Layer 
http://www.youtube.com/watch?v=-6Uoku-M6oY
OSI 7 Layer 
• Application Layer 
• 아이템을 제공함. 
• 서비스를 제공함.
OSI 7 Layer 
• 가장 중요함. 
-> 최종 목표인 서비스에 도달하기 때문. 
• 서비스를 제공함. 
-> 메일, FTP, 게임, 기타 등등. 
• DHCP, DNS, FTP, HTTP 등의 프로토콜이 쓰임. 
• 물리적인 장비는 쓰이지 않음. 
- > 구동되는 프로그램들 정도.
OSI 7 Layer 
• Presentation Layer 
• 양쪽이 원하는 방식 
으로 신호를 번역함. 
• 케틀과 내가 이기기 
위한 트리플킬.
OSI 7 Layer 
• 번역담당. 
• 인코딩 & 암호화. 
-> ASCII -> UTF-8 등 데이터 형식쪽.. 
• 송신 -> 수신측이 원하는 형태로 변환시킴. 
• 수신 -> 응용계층이 원하는 형태로 변환시킴. 
• JPEG, MPEG, SMB, AFP 등의 프로토콜이 쓰임. 
• 인코딩 & 암호화 등의 표현 형태이기 때문에 마찬 
가지로 쓰이는 장비가 존재하지 않음.
OSI 7 Layer 
• Session Layer 
• 킬을 내기 위한 
싸움 진행임.
OSI 7 Layer 
• 연결!고리! 
-> 여러 응용프로그램의 연결을 관리 
• 연결 방식 
– 반이중 방식(half-duplex) 
– 전이중 방식(Full Duplex) 
• 세션이라 불리는 연결을 만들고 · 유지하고 · 끊음. 
• Transport Layer 에서 쓰이는 보안의 기능도 함. 
-> 로깅을 한다. 
• 이름(세션의 종류 등)을 알아봄. 
• 이 계층을 지나가면 누구든지 기억을 함. 
• SSH, TLS, 등의 프로토콜이 쓰임. 
• 통신을 할 때 특정 질서를 지켜주는 부분이므로 역시 따로 
장비는 쓰이지 않음.
OSI 7 Layer 
• Transport 
• 판단을 함. 
• 그 말이 유효한지. 
• 그 말이 안되는지. 
-> 방화벽
OSI 7 Layer 
• 보안 · 유효성 관리 
• 방화벽이 존재. 
• 데이터가 유효한지 · 신뢰성 있는지 · 
메시지가 제대로 전달되는지 확인. 
• 세그먼트라는 조각들로 쪼개어 정리를 함. 
• 세션이 지나간 데이터를 기억하므로, 위의 유효성과 
신뢰성, 정확성에 자꾸 오류가 나면 연결을 끊어버릴 
수도 있음. 
• TCP, UDP, ARP 프로토콜이 쓰임. 
• 종합적으로 연결 자체를 관리해주기 때문에 
물리적으로 게이트웨이 장비가 쓰임.
OSI 7 Layer 
• NetWork 
• 라우팅(포지셔닝) 
작업을 함. 
• 어디로 가는지. 
-> 나는 봇감.
OSI 7 Layer 
• 라우팅 작업을 함. 
-> 패킷의 경로설정 
• IP, ICMP, IGMP 등의 프로토콜이 쓰임. 
• 가끔 보안 장비가 있을 수 있음. 
-> 패킷 필터링 라우터, 라우터 +@방화벽
OSI 7 Layer 
• Datalink 
• 에러없는 통신을 
유지할 수 있도록 
해줌. 
-> 수락 :: 게임가능 
-> 거절 :: 게임불가
OSI 7 Layer 
• 패킷 -> 프레임 
• 에러없는통신유지. 
• 위의 계층들이 에러없는 통신을 유지할 수 있 
도록 해준다. 
• MAC, PPP 프로토콜을 사용함. 
• MAC 어드레스를 붙이거나, PPP 프로토콜을 
사용하기 위해 스위치 장비를 사용함.
OSI 7 Layer 
• Physical 
• 겜을 하기 위해 
직접적인 접속. 
• 큐 -> 사람만남
OSI 7 Layer 
• 프레임 -> 비트단위로 변환 
• 물리적 전기신호로 전송. 
• 전송매체(UTP 케이블) 등을 통해서 직접적 
으로 물리적인 전기적 통신신호를 보냄. 
• 물리적인 방식들이 프로토콜…(RS-232C) 
• 허브 & 리피터 등이 장비로 쓰인다.
Port 
• 통신하기 위한 통로 
와 같은 역할. 
• “문”과 도 같다. 
< 갱킹할때 쓴 통로.
Port 
• 0번 ~ 1023번: 잘 알려진 포트 (well-known port) 
– 20, 21 : FTP, 22:SSH, 23:Telnet, 80:HTTP 
• 1024번 ~ 49151번: 등록된 포트 (registered port) 
– FTP 패시브모드시 사용, 3389:MSTSC 
• 49152번 ~ 65535번: 동적 포트 (dynamic port) 
– RPC 동적포트 할당, etc…
HTTP 
• HyperText Transfer Protocol 
• WWW(웹)에서 쓰는 프로토콜 
中하나. 
• HTML 문서를 주고받는데 쓰임. 
• HTTP 프로토콜로 주고받는 패 
킷 분석 툴. 
-> Paros, Fiddler, FireFox Developer
DNS 
• 킬로삼십이 -> 카타리나 
• 딥퍼플 -> 아칼리 
└>오늘새벽 게임기준 
• 닉네임을 부르기쉽게 아는 챔프이름으로
DNS 
• 203.249.6.100 -> http://www.kknock.org 
• 202.131.30.11 -> http://www.naver.com 
• IP를 알기쉽게 문자열로 변경하여 사용. 
• IPv6 -> https://vsix.kr/
DNS 
DNS 서버에 있는 DB 두가지 
Forward Zone 
Reverse Zone
DNS 
• Forward Zone 
• 도메인 이름-> IP 
• 도메인을 구성하는 호스트의 정보를 기록 
• Reverse Zone 
• IP -> 도메인 이름 
• DNS 서버 자기 자신에 대한 정보를 기록.
DNS 
DNS서버에 질의후 돌아오는응답 두가지 
Authoritative Answer 
Non-authoritative Answer
DNS 
• Authoritative answer 
• DNS서버가 질의받은 도메인 또는 IP를 
Forward, Reverse 모두 가지고 있을 때. 
• Non-authoritative answer 
• DNS서버가 질의받은 도메인 또는 IP가 
Forward, Reverse 둘중 하나라도 없을때.
DNS 
• 잘 알려진 DNS 서버 목록 
• Google Public DNS :: 8.8.8.8 
• Norton ConnectSafe :: 198.153.192.60 
• OpenDNS :: 208.67.222.222 
• KT DNS :: 168.63.1 
• SK Broadband :: 210.220.163.82
TCP/IP
TCP/IP 
• TCP • IP
TCP/IP 
TCP -> 3 Way Hand Shaking을 이용하여 
서로 연결되어있는 상태에서 데이터를 
주고받는 방식의 프로토콜
TCP/IP 
특정 시스템의 네트워크 고유주소.
TCP/IP 
• IP의 정보는 패킷 & 데이터그램 덩어리로 
나뉘어 전송됨. 
• 공인IP -> 공인기관에서 인증한 공개형 IP 
• 사설IP -> 사설 DHCP에서 배포한 IP
TCP/IP 
• IPv4 
– 초기에 만들어진 첫번째 인터넷 프로토콜. 
– 총 12자리(x,x,x,x) 
– x => 0 ~ 255 
– 2011년 2월 4일 모든 IPv4 주소가 소진됨. 
• 대한민국은 112,310,272개, 6위 ㅠㅠ
TCP/IP 
• A클래스 
– 1.0.0.1 ~ 127.255.255.254 
– Net.Node.Node.Node 로 구성됨. 
• B클래스 
– 128.0.0.1 ~ 191.255.255.254 
– Net.Net.Node.Node 
• C클래스 
– 192.0.0.1 ~ 223.255.255.254 
– Net.Net.Net.Node
TCP/IP 
• IPv6 
– IPv4의 확장버전. 
– 128비트의 주소공간을 제공함. 
– 3.4x10^38개 (340,282,366,920,938,463,463,374,607,431,768,211,456개) 
– Ex) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 
– 0000 > 0 하나로 축약가능 
– 연속되는 0의 그룹 > “:”하나로 축약가능 
– 맨앞자리 0 > 삭제하여 축약가능(두번이상X)
TCP/IP 
• 하지만 아직 많이 쓰이지 않고 있음… 
• 따라서 IPv6로 전환하는 기술이 존재. 
– 듀얼스택 
– 터널링 
– 주소변환
3 Way Hand Shaking
3 Way Hand Shaking
3 Way Hand Shaking 
• 서버 <->클라이언트간 
연결 체크 과정.(TCP) 
• SYN :: 연결시작 플래그 
• ACK :: SYN답장 플래그
UDP 
일방적으로 전송만함.
UDP 
• 수신자가 메시지를 수신했는지 확인 불가 
• 메시지 도착 순서 예측 불가 
• 대신 빠르고 오버헤드가 적음. 
• DNS, IPTV, VoIP, TFTP, StarCraft와 같은 겜
UDP
SSH & Telnet 
• SSH 와 Telnet은 타 컴퓨터를 액세스하기 
위한 용도로 쓰인다. 
• 다른점은 
Telnet은 암호화가 X, 스푸핑에 취약. 
SSH는 암호화가 되어있어 비교적 안전. 
└>이름부터가 Secure Shell인거보면 안전
SSH & Telnet 
• Telnet에 대한 자세한 정보 
=> 
http://mars.netanya.ac.il/~unesco/cdrom/b 
ooklet/HTML/NETWORKING/node300.html
SSH & Telnet 
• Byte 스트림 형식으로 통신함. 
• 따라서 스푸핑에 매우 취약한 관계로 거의 
쓰이지 않고있음. 
• 스푸핑을 당해도 크게 문제되지 않는 통신 
에 쓰인다.
SSH & Telnet 
• 텔넷 운영 방식> 
• NVT에 명령입력 
• NVT에서 수신함. 
• 수신된 명령을 
Telnet -> TCP/IP -> OS 로 전송시킴. 
* NVT => Network Virtual Terminal
SSH & Telnet 
• Telnet 사용시 옵션(telnet /?)
SSH & Telnet 
• Telnet 사용시 사용가능한 명령어들 
1. 압축하기 : tar cvfz [경로]000.tar.gz 
2. 압축풀기 : tar xvfz [경로]000.tar.gz 
3. ls : 현재 디렉토리의 파일 리스트를 보여줌. 
ls -al : 파일의 속성(크기, 퍼미션, 히든 파일)을 보여줌. 
ls -at : 파일이 생성된 시간까지 보여줌. 
4. cd : 지정된 경로로 디렉토리를 이동할 수 있다. 
ex) cd /; cd /bin/src; cd ; /* cd는 현재 디렉토리를 보여주고, 해당경로를 지정하였을 때 이동한다.*/ 
5. chmod : 파일이나 디렉토리의 퍼미션을 변경해줌. 
ex) chmod 755 test01.java 
6. mkdir : 디렉토리를 생성 
ex) mkdir test01 
7. rmdir : 디렉토리를 제거 
ex) rmdir : testdir 
8. rm : 디렉토리 및 파일을 제거(지움) 
rm -r : 해당 경로에 포함된 디렉토리까지 지움 
rm -f : 지움 명령을 다시 한번 확인하지 않고 바로 지움. 
rm -rf : 디렉토리를 강제로 지움. 디렉토리가 비워져 있지 않아도 강제로 지움. 
ex) rm -rf testdir 
9. cp : 디렉토리 및 파일을 복사. 
cp -r : 해당 경로에 포함된 디렉토리까지 복사 
ex) cp test01.java test02.java /* test01.java를 test02.java로 같은 디렉토리 내에 복사*/ 
ex) cp -r testdir /workspace/test/testdir /* 현재 디렉토리 내에 있는 testdir 디렉토리를 /wokrspace/test/testdir로 복사 */ 
10. mv : 디렉토리 및 파일을 이동시키거나 이름을 변경 
ex) mv test01.java test02.java /* test01.java를 test02.java로 이름 변경*/ 
ex) mv test01.java ../test /* test01.java를 현재 디렉토리 내에 있는 test디렉토리로 이동*/ 
ex) mv testdir testdir01 /* testdir을 testdir01로 이름 변경*/ 
11. du : 디스크 사용에 관한 정보를 알려줌 
ex) du / (리눅스의 총용량)
SSH & Telnet 
12. 기타 명령어 
Telnet의 명령어는 대부분 유닉스/리눅스 명령어와 부합되어 있다. 
각 장비 및 시스템에 포팅되어 있는 버전에 따라 각 명령어가 조금씩 다르니 확인 후 사용해야 함. 
adduser : 유저를 만들 때 사용하는 명령 
chown : 파일이나 디렉토리의 ownership을 바군다 
ex) chown lp /dev/lp 
diskinfo : 시스템에 설치되어 있는 디스크의 정보를 보여준다. 
ex) diskinfo /dev/rdisk/c0t6d0 
date : 현재 시각 표시 
echo : 표준 출력에 문자열을 출력 
exit : 로그아웃하고 프로그램 종료 
file : 파일 내용의 성격을 보여준다(파일의 종류를 알아볼 때) 
finger : 현재 로그인 되어 있는 사용자의 인적사항을 출력한다. 
find : 파일 시스템에서 파일이나 디렉토리를 찾을 때 사용 
ex) find /-name core -print 
grep : 파일 내에서 특정 패턴을 찾는다 
ex) grep 0- l ifconfig /sbin/init.d/* 
gzip : 압축명령 
gunzip : 압축해제명령 
jobs : 백그라운드에서 실행되고 있는 작업들의 작업번호, 작업 상태등을 보여줌. 
kill : 실행 중인 프로세서를 강제종료할 때. 
ex) kill -9 924 
last : 최근 접속한 사용자의 이름과 장소, 시간 등을 알려줌 
lp : 시스템의 기본 프론터에 파일을 프린트 함. 
lpstate -t : 모든 프린터 스풀러에 관련된 정보를 보여줌 
mail : 다른 사용자에게 편지 보내기 
more : 텍스트 파일 내용을 페이지 단위로 봄(더 보려면 spacebar 누름, 한줄 보기는 enter) 
ps -ef : 시스템에서 수행되고 있는 모든 프로세스를 보여줌 
passwd : 암호 변경 
shutdown : 시스템 끔 
top : 주기적으로 변하는 프로세스의 정보를 보여줌 
useradd : 사용자 추가 
userdel : 사용자 삭제 
usermod : 사용자 권한 주기 
what : 파일의 버전 정보를 보여줌 
who : 로그인 된 사용자 목록을 보여줌 
who am i : 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌 
who -r : 현재의 run state를 보여줌 
sort : 파일정렬 
sleep : 지정한 시간만큼 쉰다. 
shutdown -h now : 당장 종료 
shutdown -r now : 시스템 리부팅 
userdel pr 디렉토리명 : 사용자의 홈디렉토리까지 삭제 
13. vi : Linux의 vi edit 기능을 수행함. 
vi edit는 크게 입력모드와 명령모드로 구분된다. 
>>입력모드 : 입력모드로 전환하기 위해서 다음과 같이 i,a,o,O를 타입핑해야 i 커서가 놓여 있는 위치의 문자 앞에 삽입 
a 커서가 놓여 있는 위치의 문자 뒤에 삽입 
o 현재행의 아래행을 밀어내고 입력모드로 전환 
O(대소문자 구분) 현재행을 한줄 아래로 밀어내고 입력모드로 전환 
입력모드를 벗어나려면 ESC 키를 누르면 명령모드로 돌아온다. 
>>명령모드 
:q 저장하지 않고 종료 
:q! 강제 종료 
:w 저장 
:w! 강제로 저장 
:wq 저장하고 종료(=:x) 
:wq! 강제로 저장하고 종료 
:w file_name 새이름으로 저장 
-> 커서이동 :명령모드에서 이동할 수 있다(리눅스에서는 일반 방향키로도 이동이 
h(왼쪽), (아래쪽)j, k(위쪽), l(오른쪽), 
w(오른쪽), b(왼쪽), 0(행의 처음으로 이동), $(행의 마지막으로 이동) 
-> 텍스트교체 
R(커서가 있는 자리부터 여러문자를 교체) 
r (커서가 있는 자리부터 한글자만 교체) 
-> 삭제명령 
dw 한 단어 삭제 
dd 한 줄 삭제 
D 커서 위치부터 행 끝까지 삭제 
x 한 글자 삭제 
-> 자르기와 붙여넣기 
y(텍스트를 복사), yy(한줄을 복사) 
->범위지정 
:행번호(문서의 지정 번 행으로 이동) 
:$(행의 마지막으로 이동), :$=(현재 편집중인 텍스트 내용이 총 몇 줄인지 확인 
:시작행,마지막행d (시작행부터 마지막행까지 지움) 
:시작행,마지막행y (시작행부터 마지막행까지 임시버퍼에 저장)
SSH & Telnet 
[출처] Telnet 명령어(기초) 
작성자 오잘공인데
SSH & Telnet 
이렇게 많지만… 가장 많이 쓰이는 명령어는 
• cd 
• chown 
• mkdir 
• rmdir 
• rm 
• adduser 
• cat 
• ls 
• vi 
• cp 
• halt(?) 
기타등등…
SSH & Telnet 
Telnet이 그냥 트위치라면….
SSH & Telnet 
SSH는 은신해서 알아볼 수 없는 트위치!!
SSH & Telnet 
• 이름부터가 “Secure SHell”. 
• 보안에 중점을 두었다. 
• 심지어 Telnet보다 속도도 더빠름… 
• SSH >>> 넘사벽 >>> 다차원우주 >>>> 
미지의세계 >>>>>>> Telnet 
• SSH보다 Telnet이 더 좋은점이 없음.
SSH & Telnet 
• 따라서 스푸핑의 대책인 암호화에 의하여 
설사 도청을 해도 안전하게 엑세스 가능함. 
(물론 방법은 다 있음.. 은신트위치를 발견하기 위해 핑와를 박는것처럼…) 
(Ettercap툴은 SSH1.5까지 자동으로 복호화 및 강제로 SSH1.5를 사용하게함) 
• 공개키 암호화 방식. 
-> 공개용 키 & 개인용 키가 따로 존재. 
• SSH, OpenSSH(feat. BSD licence) 
• 기본적으로 대부분 리눅스에 설치되있음.
SSH & Telnet 
• 설치가 안되어 있다면..?? 
• OpenSSH - 
http://www.openssh.com/portable.html 
• OpenSSL – 
http://www.openssl.org/ 
• Zlib – 
http://www.zlib.net/
SSH & Telnet 
• OpenSSL + zlib -> OpenSSH 
• 소스파일을 모두 받아서 설치해줌.
SSH & Telnet 
• Telnet이 그냥커피면 SSH는 TOP 
-> 트래픽이 압축되어 전송되어짐.(속도↑) 
-> X11 세션 연결을 이용함(보안↑) 
-> 터널기능도 지원(기능↑)
CSS – Client Side Script 
• 클라이언트에서 실행되는 웹 스크립트. 
• 브라우저 내 스크립트엔진이 실행시킴. 
• JavaScript 
• VBScript.
CSS – Client Side Script 
• Javascript 
– 자바와 관련 없음.. 
– 자바랑 비슷한 구문이 있긴함. 
– C언어를 기반으로 제작됨. 
– 동적 웹페이지를 개발할 때 사용함. 
– 해킹기법에 자주 쓰이므로 제한을 자주함. 
– 오픈소스라 퍼다쓰는게 더나음(…)
CSS – Client Side Script 
• Javascript를 이용한 해킹기법 
• XSS 
– 스크립트를 실행하는 클라이언트를 공격. 
– 쿠키와 같은 클라이언트에서 처리하는 정보를 
다룰 수 있음. 
– 특정 사이트로 접속 시도 가능.(납치태그)
SSS - Server Side Script 
• 서버단에서 스크립트를 실행하여 클라이 
언트가 원하는 정보를 퍼다줌. 
• PHP 
• JSP 
• ASP 
• Perl 
• Python
SSS - Server Side Script 
• PHP 
– 텍스트나 HTML 문서에 특화되어있음. 
• URL 파싱 
• 정규표현식. 
• JSP 
– 웹디자인 짱짱. 
• HTML안에 자바코드를 삽입할 수 있음(동적)..
HTML & JavaScript & PHP 
HTML
HTML & JavaScript & PHP 
• 마크업 언어. 
• 홈페이지 구조를 만들어 주는 태그 언어 
• 현재 5버전까지 나옴.
HTML & JavaScript & PHP 
Javascript
HTML & JavaScript & PHP 
PHP
APM
APM 
• Apache+PHP(+@PhpMyAdmin)+MySQL 
• Apache => HTTP서버의 종류중 하나. 
• PHP => SSS에 속하는 스크립트. 
• MySQL => DataBase를 저장하는 DMBS 
+@ LAMP
APM 
• Apache 
– HTTP 서버의 종류중 하나. 
– Tomcat 등의 웹 애플리케이션 서버와 함께 
쓰기도 함. 
– 제일 좋은건 오픈소스.
APM 
• PHP 
– SSS의 종류중 하나. 
– HTML 문서에 대해서 특화되어있음. 
– 이것또한 가장 중요한건 오픈소스.
APM 
• MySQL 
– DB를 관리하는 DBMS의 종류중 하나. 
– SQL이라는 질의문을 이용하여 통신. 
– 이또한 마찬가지로 오픈소스 버전이 있음.
APM 
• MySQL 
– 패킷이 전송 될 경우 
• 로그인 
• SQL 질의할 때 
• Prepared Satement을 실행할 때 
• 서버사이드 커서를 이용할 때
Cookie & Session 
Cookie
Cookie & Session 
Session
Cookie & Session 
• Cookie 
– 클라이언트단에서 나중에 쓰기 위하여 정보를 
저장해 둠. 
– Ex) 자동로그인, 최근 본 상품 등등.. 
• Session 
– 통신을 하는 두 대의 컴퓨터간 활성화된 접속 
을 의미함. 
– 커맨드 입력 -> 응답출력 까지를 세션이라 함.
GNU
GNU 
• Gnu is Not Unix 
• Gnu is Not Unix is Not Unix 
• Gnu is Not Unix is Not Unix is Not Unix 
• … 
• 재귀적인 단어…
GNU 
• 하나의 프로젝트. 
• 완전한 유닉스 호환 소프트웨어 시스템이 
목표. 
• 리처드 스톨만이 1983년에 처음 시작함.
GNU 
• GNU 소프트웨어 
– Bash => 쉘 
– GCC => 컴파일러 
– GDB => 디버거 
– Glibc => C라이브러리 
– Gnome => 그래픽 데스크탑 환경(짱짱맨) 
– Emacs => 문서 편집기(vi가 더 나음)
GCC vs VC
GCC vs VC 
• GCC 
– 크로스 컴파일러로써는 최강. 
– 컴파일러 표준에 더 가까움. 
– VC에 비해 많이 느림.(3배정도) 
• VC 
– 컴파일 속도가 매우 빠름. 
– Pch 기능이 있음.
폰 노이만 구조 
• 전형적인 트롤 
• 한번죽으면 CPU 
보다 더 빨리 
판단후 던진다. 
• 트롤링의 구조.
폰 노이만 구조 
• 전형적인 처리 
• 대부분의 CPU가 
이러한 출력 
결과를 낳는다. 
• 컴퓨터의 구조.
폰 노이만 구조 
• 내장메모리 순차처리 방식. 
• 병목현상이 이루어짐. 
– 순차적 수행이기 때문에 생기는 현상이다.
HTTP 헤더 분석 
HTTP-Request 헤더 구조(1.1ver)
HTTP 헤더 분석 
• Method 
– GET – URL 에서 자료의 전송을 요청. 
– POST – Entity Body 안에 정보를 넣어 요청. 
– HEAD – 자료에 대한 정보만을 받음. 
– PUT – 해당 URL에 자료를 저장. 
– DELETE – 해당 URL의 자료를 삭제. 
– TRACE – 이전에 요청했던 내용을 요청. 
– OPTION – 어떤 HTTP 메소드를 지원하는지 요청. 
– CONNECT – 프록시가 사용하는 요청.
HTTP 헤더 분석 
HTTP-Request 헤더 구조(1.1ver)
HTTP 헤더 분석 
HTTP-Response 헤더 구조(1.1ver)
HTTP 헤더 분석 
• Status Code – IANA(인터넷 할당 번호 관리 기관) 
– 1xx => 조건부 응답.(작업 계속) 
– 2xx => 성공적 처리. 
– 3xx => 리다이렉션 완료(추가동작 취함) 
– 4xx => 요청 오류 
– 5xx => 서버 오류
HTTP 헤더 분석 
HTTP-Response 헤더 구조(1.1ver)
Proxy
Proxy 
• 경유지의 개념. 
• 해당 서버에 접속할 때, 프록시 서버를 
거쳐서 접속을 함. 
• 따라서 우회 등이 가능.
후기
감사합니다.

Network researching

  • 1.
    Network Researching (Feat.League Of Legends) 경기대학교 K.Knock S5 권혁규
  • 2.
    목차 • Protocol • OSI Layer • Port • HTTP • DNS • TCP/IP • 3 way hand shaking • UDP • DNS • SSH, Telnet • CSS (client side script) • SSS (server ..) • html/javascript/php • APM • cookie / session • GNU(GNU is Not UNIX) • gcc vs VC • 폰 노이만 아키텍쳐 • HTTP 헤더 집중 탐구 • proxy 란?
  • 3.
    Protocol • 롤을할때. -> 규칙이 필요하다. -> (Ex 탑,미드,봇 등) • 따라서 통신을 할 때 -> 규칙이 필요하다. • 프로토콜의 종류 -> IP, TCP, UDP, HTTP
  • 4.
    Protocol 통신에 대한규칙 << 패킷 패킷을 주고 받을 때 헤더의 내용이 특정 프 로토콜(약속)을 준수함.
  • 5.
  • 6.
  • 7.
  • 8.
    OSI 7 Layer http://www.youtube.com/watch?v=-6Uoku-M6oY
  • 9.
    OSI 7 Layer • Application Layer • 아이템을 제공함. • 서비스를 제공함.
  • 10.
    OSI 7 Layer • 가장 중요함. -> 최종 목표인 서비스에 도달하기 때문. • 서비스를 제공함. -> 메일, FTP, 게임, 기타 등등. • DHCP, DNS, FTP, HTTP 등의 프로토콜이 쓰임. • 물리적인 장비는 쓰이지 않음. - > 구동되는 프로그램들 정도.
  • 11.
    OSI 7 Layer • Presentation Layer • 양쪽이 원하는 방식 으로 신호를 번역함. • 케틀과 내가 이기기 위한 트리플킬.
  • 12.
    OSI 7 Layer • 번역담당. • 인코딩 & 암호화. -> ASCII -> UTF-8 등 데이터 형식쪽.. • 송신 -> 수신측이 원하는 형태로 변환시킴. • 수신 -> 응용계층이 원하는 형태로 변환시킴. • JPEG, MPEG, SMB, AFP 등의 프로토콜이 쓰임. • 인코딩 & 암호화 등의 표현 형태이기 때문에 마찬 가지로 쓰이는 장비가 존재하지 않음.
  • 13.
    OSI 7 Layer • Session Layer • 킬을 내기 위한 싸움 진행임.
  • 14.
    OSI 7 Layer • 연결!고리! -> 여러 응용프로그램의 연결을 관리 • 연결 방식 – 반이중 방식(half-duplex) – 전이중 방식(Full Duplex) • 세션이라 불리는 연결을 만들고 · 유지하고 · 끊음. • Transport Layer 에서 쓰이는 보안의 기능도 함. -> 로깅을 한다. • 이름(세션의 종류 등)을 알아봄. • 이 계층을 지나가면 누구든지 기억을 함. • SSH, TLS, 등의 프로토콜이 쓰임. • 통신을 할 때 특정 질서를 지켜주는 부분이므로 역시 따로 장비는 쓰이지 않음.
  • 15.
    OSI 7 Layer • Transport • 판단을 함. • 그 말이 유효한지. • 그 말이 안되는지. -> 방화벽
  • 16.
    OSI 7 Layer • 보안 · 유효성 관리 • 방화벽이 존재. • 데이터가 유효한지 · 신뢰성 있는지 · 메시지가 제대로 전달되는지 확인. • 세그먼트라는 조각들로 쪼개어 정리를 함. • 세션이 지나간 데이터를 기억하므로, 위의 유효성과 신뢰성, 정확성에 자꾸 오류가 나면 연결을 끊어버릴 수도 있음. • TCP, UDP, ARP 프로토콜이 쓰임. • 종합적으로 연결 자체를 관리해주기 때문에 물리적으로 게이트웨이 장비가 쓰임.
  • 17.
    OSI 7 Layer • NetWork • 라우팅(포지셔닝) 작업을 함. • 어디로 가는지. -> 나는 봇감.
  • 18.
    OSI 7 Layer • 라우팅 작업을 함. -> 패킷의 경로설정 • IP, ICMP, IGMP 등의 프로토콜이 쓰임. • 가끔 보안 장비가 있을 수 있음. -> 패킷 필터링 라우터, 라우터 +@방화벽
  • 19.
    OSI 7 Layer • Datalink • 에러없는 통신을 유지할 수 있도록 해줌. -> 수락 :: 게임가능 -> 거절 :: 게임불가
  • 20.
    OSI 7 Layer • 패킷 -> 프레임 • 에러없는통신유지. • 위의 계층들이 에러없는 통신을 유지할 수 있 도록 해준다. • MAC, PPP 프로토콜을 사용함. • MAC 어드레스를 붙이거나, PPP 프로토콜을 사용하기 위해 스위치 장비를 사용함.
  • 21.
    OSI 7 Layer • Physical • 겜을 하기 위해 직접적인 접속. • 큐 -> 사람만남
  • 22.
    OSI 7 Layer • 프레임 -> 비트단위로 변환 • 물리적 전기신호로 전송. • 전송매체(UTP 케이블) 등을 통해서 직접적 으로 물리적인 전기적 통신신호를 보냄. • 물리적인 방식들이 프로토콜…(RS-232C) • 허브 & 리피터 등이 장비로 쓰인다.
  • 23.
    Port • 통신하기위한 통로 와 같은 역할. • “문”과 도 같다. < 갱킹할때 쓴 통로.
  • 24.
    Port • 0번~ 1023번: 잘 알려진 포트 (well-known port) – 20, 21 : FTP, 22:SSH, 23:Telnet, 80:HTTP • 1024번 ~ 49151번: 등록된 포트 (registered port) – FTP 패시브모드시 사용, 3389:MSTSC • 49152번 ~ 65535번: 동적 포트 (dynamic port) – RPC 동적포트 할당, etc…
  • 25.
    HTTP • HyperTextTransfer Protocol • WWW(웹)에서 쓰는 프로토콜 中하나. • HTML 문서를 주고받는데 쓰임. • HTTP 프로토콜로 주고받는 패 킷 분석 툴. -> Paros, Fiddler, FireFox Developer
  • 26.
    DNS • 킬로삼십이-> 카타리나 • 딥퍼플 -> 아칼리 └>오늘새벽 게임기준 • 닉네임을 부르기쉽게 아는 챔프이름으로
  • 27.
    DNS • 203.249.6.100-> http://www.kknock.org • 202.131.30.11 -> http://www.naver.com • IP를 알기쉽게 문자열로 변경하여 사용. • IPv6 -> https://vsix.kr/
  • 28.
    DNS DNS 서버에있는 DB 두가지 Forward Zone Reverse Zone
  • 29.
    DNS • ForwardZone • 도메인 이름-> IP • 도메인을 구성하는 호스트의 정보를 기록 • Reverse Zone • IP -> 도메인 이름 • DNS 서버 자기 자신에 대한 정보를 기록.
  • 30.
    DNS DNS서버에 질의후돌아오는응답 두가지 Authoritative Answer Non-authoritative Answer
  • 31.
    DNS • Authoritativeanswer • DNS서버가 질의받은 도메인 또는 IP를 Forward, Reverse 모두 가지고 있을 때. • Non-authoritative answer • DNS서버가 질의받은 도메인 또는 IP가 Forward, Reverse 둘중 하나라도 없을때.
  • 32.
    DNS • 잘알려진 DNS 서버 목록 • Google Public DNS :: 8.8.8.8 • Norton ConnectSafe :: 198.153.192.60 • OpenDNS :: 208.67.222.222 • KT DNS :: 168.63.1 • SK Broadband :: 210.220.163.82
  • 33.
  • 34.
  • 35.
    TCP/IP TCP ->3 Way Hand Shaking을 이용하여 서로 연결되어있는 상태에서 데이터를 주고받는 방식의 프로토콜
  • 36.
    TCP/IP 특정 시스템의네트워크 고유주소.
  • 37.
    TCP/IP • IP의정보는 패킷 & 데이터그램 덩어리로 나뉘어 전송됨. • 공인IP -> 공인기관에서 인증한 공개형 IP • 사설IP -> 사설 DHCP에서 배포한 IP
  • 38.
    TCP/IP • IPv4 – 초기에 만들어진 첫번째 인터넷 프로토콜. – 총 12자리(x,x,x,x) – x => 0 ~ 255 – 2011년 2월 4일 모든 IPv4 주소가 소진됨. • 대한민국은 112,310,272개, 6위 ㅠㅠ
  • 39.
    TCP/IP • A클래스 – 1.0.0.1 ~ 127.255.255.254 – Net.Node.Node.Node 로 구성됨. • B클래스 – 128.0.0.1 ~ 191.255.255.254 – Net.Net.Node.Node • C클래스 – 192.0.0.1 ~ 223.255.255.254 – Net.Net.Net.Node
  • 40.
    TCP/IP • IPv6 – IPv4의 확장버전. – 128비트의 주소공간을 제공함. – 3.4x10^38개 (340,282,366,920,938,463,463,374,607,431,768,211,456개) – Ex) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 – 0000 > 0 하나로 축약가능 – 연속되는 0의 그룹 > “:”하나로 축약가능 – 맨앞자리 0 > 삭제하여 축약가능(두번이상X)
  • 41.
    TCP/IP • 하지만아직 많이 쓰이지 않고 있음… • 따라서 IPv6로 전환하는 기술이 존재. – 듀얼스택 – 터널링 – 주소변환
  • 42.
    3 Way HandShaking
  • 43.
    3 Way HandShaking
  • 44.
    3 Way HandShaking • 서버 <->클라이언트간 연결 체크 과정.(TCP) • SYN :: 연결시작 플래그 • ACK :: SYN답장 플래그
  • 45.
  • 46.
    UDP • 수신자가메시지를 수신했는지 확인 불가 • 메시지 도착 순서 예측 불가 • 대신 빠르고 오버헤드가 적음. • DNS, IPTV, VoIP, TFTP, StarCraft와 같은 겜
  • 47.
  • 48.
    SSH & Telnet • SSH 와 Telnet은 타 컴퓨터를 액세스하기 위한 용도로 쓰인다. • 다른점은 Telnet은 암호화가 X, 스푸핑에 취약. SSH는 암호화가 되어있어 비교적 안전. └>이름부터가 Secure Shell인거보면 안전
  • 49.
    SSH & Telnet • Telnet에 대한 자세한 정보 => http://mars.netanya.ac.il/~unesco/cdrom/b ooklet/HTML/NETWORKING/node300.html
  • 50.
    SSH & Telnet • Byte 스트림 형식으로 통신함. • 따라서 스푸핑에 매우 취약한 관계로 거의 쓰이지 않고있음. • 스푸핑을 당해도 크게 문제되지 않는 통신 에 쓰인다.
  • 51.
    SSH & Telnet • 텔넷 운영 방식> • NVT에 명령입력 • NVT에서 수신함. • 수신된 명령을 Telnet -> TCP/IP -> OS 로 전송시킴. * NVT => Network Virtual Terminal
  • 52.
    SSH & Telnet • Telnet 사용시 옵션(telnet /?)
  • 53.
    SSH & Telnet • Telnet 사용시 사용가능한 명령어들 1. 압축하기 : tar cvfz [경로]000.tar.gz 2. 압축풀기 : tar xvfz [경로]000.tar.gz 3. ls : 현재 디렉토리의 파일 리스트를 보여줌. ls -al : 파일의 속성(크기, 퍼미션, 히든 파일)을 보여줌. ls -at : 파일이 생성된 시간까지 보여줌. 4. cd : 지정된 경로로 디렉토리를 이동할 수 있다. ex) cd /; cd /bin/src; cd ; /* cd는 현재 디렉토리를 보여주고, 해당경로를 지정하였을 때 이동한다.*/ 5. chmod : 파일이나 디렉토리의 퍼미션을 변경해줌. ex) chmod 755 test01.java 6. mkdir : 디렉토리를 생성 ex) mkdir test01 7. rmdir : 디렉토리를 제거 ex) rmdir : testdir 8. rm : 디렉토리 및 파일을 제거(지움) rm -r : 해당 경로에 포함된 디렉토리까지 지움 rm -f : 지움 명령을 다시 한번 확인하지 않고 바로 지움. rm -rf : 디렉토리를 강제로 지움. 디렉토리가 비워져 있지 않아도 강제로 지움. ex) rm -rf testdir 9. cp : 디렉토리 및 파일을 복사. cp -r : 해당 경로에 포함된 디렉토리까지 복사 ex) cp test01.java test02.java /* test01.java를 test02.java로 같은 디렉토리 내에 복사*/ ex) cp -r testdir /workspace/test/testdir /* 현재 디렉토리 내에 있는 testdir 디렉토리를 /wokrspace/test/testdir로 복사 */ 10. mv : 디렉토리 및 파일을 이동시키거나 이름을 변경 ex) mv test01.java test02.java /* test01.java를 test02.java로 이름 변경*/ ex) mv test01.java ../test /* test01.java를 현재 디렉토리 내에 있는 test디렉토리로 이동*/ ex) mv testdir testdir01 /* testdir을 testdir01로 이름 변경*/ 11. du : 디스크 사용에 관한 정보를 알려줌 ex) du / (리눅스의 총용량)
  • 54.
    SSH & Telnet 12. 기타 명령어 Telnet의 명령어는 대부분 유닉스/리눅스 명령어와 부합되어 있다. 각 장비 및 시스템에 포팅되어 있는 버전에 따라 각 명령어가 조금씩 다르니 확인 후 사용해야 함. adduser : 유저를 만들 때 사용하는 명령 chown : 파일이나 디렉토리의 ownership을 바군다 ex) chown lp /dev/lp diskinfo : 시스템에 설치되어 있는 디스크의 정보를 보여준다. ex) diskinfo /dev/rdisk/c0t6d0 date : 현재 시각 표시 echo : 표준 출력에 문자열을 출력 exit : 로그아웃하고 프로그램 종료 file : 파일 내용의 성격을 보여준다(파일의 종류를 알아볼 때) finger : 현재 로그인 되어 있는 사용자의 인적사항을 출력한다. find : 파일 시스템에서 파일이나 디렉토리를 찾을 때 사용 ex) find /-name core -print grep : 파일 내에서 특정 패턴을 찾는다 ex) grep 0- l ifconfig /sbin/init.d/* gzip : 압축명령 gunzip : 압축해제명령 jobs : 백그라운드에서 실행되고 있는 작업들의 작업번호, 작업 상태등을 보여줌. kill : 실행 중인 프로세서를 강제종료할 때. ex) kill -9 924 last : 최근 접속한 사용자의 이름과 장소, 시간 등을 알려줌 lp : 시스템의 기본 프론터에 파일을 프린트 함. lpstate -t : 모든 프린터 스풀러에 관련된 정보를 보여줌 mail : 다른 사용자에게 편지 보내기 more : 텍스트 파일 내용을 페이지 단위로 봄(더 보려면 spacebar 누름, 한줄 보기는 enter) ps -ef : 시스템에서 수행되고 있는 모든 프로세스를 보여줌 passwd : 암호 변경 shutdown : 시스템 끔 top : 주기적으로 변하는 프로세스의 정보를 보여줌 useradd : 사용자 추가 userdel : 사용자 삭제 usermod : 사용자 권한 주기 what : 파일의 버전 정보를 보여줌 who : 로그인 된 사용자 목록을 보여줌 who am i : 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌 who -r : 현재의 run state를 보여줌 sort : 파일정렬 sleep : 지정한 시간만큼 쉰다. shutdown -h now : 당장 종료 shutdown -r now : 시스템 리부팅 userdel pr 디렉토리명 : 사용자의 홈디렉토리까지 삭제 13. vi : Linux의 vi edit 기능을 수행함. vi edit는 크게 입력모드와 명령모드로 구분된다. >>입력모드 : 입력모드로 전환하기 위해서 다음과 같이 i,a,o,O를 타입핑해야 i 커서가 놓여 있는 위치의 문자 앞에 삽입 a 커서가 놓여 있는 위치의 문자 뒤에 삽입 o 현재행의 아래행을 밀어내고 입력모드로 전환 O(대소문자 구분) 현재행을 한줄 아래로 밀어내고 입력모드로 전환 입력모드를 벗어나려면 ESC 키를 누르면 명령모드로 돌아온다. >>명령모드 :q 저장하지 않고 종료 :q! 강제 종료 :w 저장 :w! 강제로 저장 :wq 저장하고 종료(=:x) :wq! 강제로 저장하고 종료 :w file_name 새이름으로 저장 -> 커서이동 :명령모드에서 이동할 수 있다(리눅스에서는 일반 방향키로도 이동이 h(왼쪽), (아래쪽)j, k(위쪽), l(오른쪽), w(오른쪽), b(왼쪽), 0(행의 처음으로 이동), $(행의 마지막으로 이동) -> 텍스트교체 R(커서가 있는 자리부터 여러문자를 교체) r (커서가 있는 자리부터 한글자만 교체) -> 삭제명령 dw 한 단어 삭제 dd 한 줄 삭제 D 커서 위치부터 행 끝까지 삭제 x 한 글자 삭제 -> 자르기와 붙여넣기 y(텍스트를 복사), yy(한줄을 복사) ->범위지정 :행번호(문서의 지정 번 행으로 이동) :$(행의 마지막으로 이동), :$=(현재 편집중인 텍스트 내용이 총 몇 줄인지 확인 :시작행,마지막행d (시작행부터 마지막행까지 지움) :시작행,마지막행y (시작행부터 마지막행까지 임시버퍼에 저장)
  • 55.
    SSH & Telnet [출처] Telnet 명령어(기초) 작성자 오잘공인데
  • 56.
    SSH & Telnet 이렇게 많지만… 가장 많이 쓰이는 명령어는 • cd • chown • mkdir • rmdir • rm • adduser • cat • ls • vi • cp • halt(?) 기타등등…
  • 57.
    SSH & Telnet Telnet이 그냥 트위치라면….
  • 58.
    SSH & Telnet SSH는 은신해서 알아볼 수 없는 트위치!!
  • 59.
    SSH & Telnet • 이름부터가 “Secure SHell”. • 보안에 중점을 두었다. • 심지어 Telnet보다 속도도 더빠름… • SSH >>> 넘사벽 >>> 다차원우주 >>>> 미지의세계 >>>>>>> Telnet • SSH보다 Telnet이 더 좋은점이 없음.
  • 60.
    SSH & Telnet • 따라서 스푸핑의 대책인 암호화에 의하여 설사 도청을 해도 안전하게 엑세스 가능함. (물론 방법은 다 있음.. 은신트위치를 발견하기 위해 핑와를 박는것처럼…) (Ettercap툴은 SSH1.5까지 자동으로 복호화 및 강제로 SSH1.5를 사용하게함) • 공개키 암호화 방식. -> 공개용 키 & 개인용 키가 따로 존재. • SSH, OpenSSH(feat. BSD licence) • 기본적으로 대부분 리눅스에 설치되있음.
  • 61.
    SSH & Telnet • 설치가 안되어 있다면..?? • OpenSSH - http://www.openssh.com/portable.html • OpenSSL – http://www.openssl.org/ • Zlib – http://www.zlib.net/
  • 62.
    SSH & Telnet • OpenSSL + zlib -> OpenSSH • 소스파일을 모두 받아서 설치해줌.
  • 63.
    SSH & Telnet • Telnet이 그냥커피면 SSH는 TOP -> 트래픽이 압축되어 전송되어짐.(속도↑) -> X11 세션 연결을 이용함(보안↑) -> 터널기능도 지원(기능↑)
  • 64.
    CSS – ClientSide Script • 클라이언트에서 실행되는 웹 스크립트. • 브라우저 내 스크립트엔진이 실행시킴. • JavaScript • VBScript.
  • 65.
    CSS – ClientSide Script • Javascript – 자바와 관련 없음.. – 자바랑 비슷한 구문이 있긴함. – C언어를 기반으로 제작됨. – 동적 웹페이지를 개발할 때 사용함. – 해킹기법에 자주 쓰이므로 제한을 자주함. – 오픈소스라 퍼다쓰는게 더나음(…)
  • 66.
    CSS – ClientSide Script • Javascript를 이용한 해킹기법 • XSS – 스크립트를 실행하는 클라이언트를 공격. – 쿠키와 같은 클라이언트에서 처리하는 정보를 다룰 수 있음. – 특정 사이트로 접속 시도 가능.(납치태그)
  • 67.
    SSS - ServerSide Script • 서버단에서 스크립트를 실행하여 클라이 언트가 원하는 정보를 퍼다줌. • PHP • JSP • ASP • Perl • Python
  • 68.
    SSS - ServerSide Script • PHP – 텍스트나 HTML 문서에 특화되어있음. • URL 파싱 • 정규표현식. • JSP – 웹디자인 짱짱. • HTML안에 자바코드를 삽입할 수 있음(동적)..
  • 69.
  • 70.
    HTML & JavaScript& PHP • 마크업 언어. • 홈페이지 구조를 만들어 주는 태그 언어 • 현재 5버전까지 나옴.
  • 71.
    HTML & JavaScript& PHP Javascript
  • 72.
  • 73.
  • 74.
    APM • Apache+PHP(+@PhpMyAdmin)+MySQL • Apache => HTTP서버의 종류중 하나. • PHP => SSS에 속하는 스크립트. • MySQL => DataBase를 저장하는 DMBS +@ LAMP
  • 75.
    APM • Apache – HTTP 서버의 종류중 하나. – Tomcat 등의 웹 애플리케이션 서버와 함께 쓰기도 함. – 제일 좋은건 오픈소스.
  • 76.
    APM • PHP – SSS의 종류중 하나. – HTML 문서에 대해서 특화되어있음. – 이것또한 가장 중요한건 오픈소스.
  • 77.
    APM • MySQL – DB를 관리하는 DBMS의 종류중 하나. – SQL이라는 질의문을 이용하여 통신. – 이또한 마찬가지로 오픈소스 버전이 있음.
  • 78.
    APM • MySQL – 패킷이 전송 될 경우 • 로그인 • SQL 질의할 때 • Prepared Satement을 실행할 때 • 서버사이드 커서를 이용할 때
  • 79.
  • 80.
  • 81.
    Cookie & Session • Cookie – 클라이언트단에서 나중에 쓰기 위하여 정보를 저장해 둠. – Ex) 자동로그인, 최근 본 상품 등등.. • Session – 통신을 하는 두 대의 컴퓨터간 활성화된 접속 을 의미함. – 커맨드 입력 -> 응답출력 까지를 세션이라 함.
  • 82.
  • 83.
    GNU • Gnuis Not Unix • Gnu is Not Unix is Not Unix • Gnu is Not Unix is Not Unix is Not Unix • … • 재귀적인 단어…
  • 84.
    GNU • 하나의프로젝트. • 완전한 유닉스 호환 소프트웨어 시스템이 목표. • 리처드 스톨만이 1983년에 처음 시작함.
  • 85.
    GNU • GNU소프트웨어 – Bash => 쉘 – GCC => 컴파일러 – GDB => 디버거 – Glibc => C라이브러리 – Gnome => 그래픽 데스크탑 환경(짱짱맨) – Emacs => 문서 편집기(vi가 더 나음)
  • 86.
  • 87.
    GCC vs VC • GCC – 크로스 컴파일러로써는 최강. – 컴파일러 표준에 더 가까움. – VC에 비해 많이 느림.(3배정도) • VC – 컴파일 속도가 매우 빠름. – Pch 기능이 있음.
  • 88.
    폰 노이만 구조 • 전형적인 트롤 • 한번죽으면 CPU 보다 더 빨리 판단후 던진다. • 트롤링의 구조.
  • 89.
    폰 노이만 구조 • 전형적인 처리 • 대부분의 CPU가 이러한 출력 결과를 낳는다. • 컴퓨터의 구조.
  • 90.
    폰 노이만 구조 • 내장메모리 순차처리 방식. • 병목현상이 이루어짐. – 순차적 수행이기 때문에 생기는 현상이다.
  • 91.
    HTTP 헤더 분석 HTTP-Request 헤더 구조(1.1ver)
  • 92.
    HTTP 헤더 분석 • Method – GET – URL 에서 자료의 전송을 요청. – POST – Entity Body 안에 정보를 넣어 요청. – HEAD – 자료에 대한 정보만을 받음. – PUT – 해당 URL에 자료를 저장. – DELETE – 해당 URL의 자료를 삭제. – TRACE – 이전에 요청했던 내용을 요청. – OPTION – 어떤 HTTP 메소드를 지원하는지 요청. – CONNECT – 프록시가 사용하는 요청.
  • 93.
    HTTP 헤더 분석 HTTP-Request 헤더 구조(1.1ver)
  • 94.
    HTTP 헤더 분석 HTTP-Response 헤더 구조(1.1ver)
  • 95.
    HTTP 헤더 분석 • Status Code – IANA(인터넷 할당 번호 관리 기관) – 1xx => 조건부 응답.(작업 계속) – 2xx => 성공적 처리. – 3xx => 리다이렉션 완료(추가동작 취함) – 4xx => 요청 오류 – 5xx => 서버 오류
  • 96.
    HTTP 헤더 분석 HTTP-Response 헤더 구조(1.1ver)
  • 97.
  • 98.
    Proxy • 경유지의개념. • 해당 서버에 접속할 때, 프록시 서버를 거쳐서 접속을 함. • 따라서 우회 등이 가능.
  • 99.
  • 100.