TCP/IP Protocol Suite

-> 현제 네트워크에서 사용되는 프로토콜 체계

 

기법

-> 스니핑(Sniffing) : 통신망에서 돌아다니는 데이터를 몰래 훔쳐보기 위한 공격

-> 스푸핑(Spoofing) : 속이기 공격(나는 a인데 c하고 통신할 건데 , b라고 속여서 통신하는 것)

-> Session Hijacking : 가로채기 공격(a와 c가 서로 통신하고 있는데 해커가 a의 토큰을 가로채서 c와 통신하는 것)

-> Dos & DDos : 뒤지기 공격

 

■ OSI(Open System Interconnection)

- 국제표준화기구(ISO)가 1984년에 발표한 OSI7 Layer는 통신이 일어나는 과정을 7단계로 구분해서

장비개발자들이 어떻게 표준을 잡을지 결정할 때 사용한다

 

@ 7 Layer

Application Layer(응용계층) : 7계층

- 사용자가 실제로 작업을 하는 계층

- 사용자가 사용하는 프로그램(웹브라우저,전자메일,데이터베이스...)이 응용계층에 속한다

- TCP 프로토콜

HTTP(80) : 웹서비스제공

SMTP(25) : 메일 전송

POP3(110) : 메일 다운로드

TELNET(23) : 평문 원격 접속

SSH(22) : 암호화 원격 접속

FTP(20/21) : 파일 전송

- UDP 프로토콜

DNS(53) : 웹주소를 IP주소로 변환

DHCP : Server(67) / Client(68) / IP주소를 자동으로 할당

SNMP(161/162) : 네트워크 장비를 관리하거나 감시하기 위해 사용되는 프로토콜

NTP(123)

TFTP(69)

 

Presentation Layer(표현계층) : 6계층

- 전송하는 Data를 변환하여 두 장치가 서로 호환되게 해주는 계층

- 어플리케이션계층이 이해하기 쉽도록 Data를 변환하고 , 어플리케이션계층이 전송한 Data를

세션계층이 이해하기 쉽도록 변환해서 전달한다

- 언어 코드 형식 변환 : ASCII , EBCDIC , BCD

- 그래픽이나 영상 변환 : GIF , JPEG , MPEG , AVI

- 데이터 압축 및 해제

 

Session Layer(세션계층) : 5계층

- 통신을 하는 두 호스트들 사이에 세션을 열고 , 닫고 , 관리해주는 계층

- 양쪽 호스트간에 최초 연결이 되게 하고 , 통신 중에 연결이 끊어지지 않도록 유지시켜준다

 

Transport Layer(전송계층) : 4계층

- 종단 시스템(end-to-end)간의 신뢰성이 있는 Data 전송을 담당하는 계층

- 에러제어(error control)와 흐름제어(flow control)을 담당

- TCP는 전송시 에러가 발생하면 다시 재전송을 하지만 UDP는 재전송을 하지 않는다

- TCP는 연결과정(3way)을 맺고 데이터를 전송하지만 UDP는 연결과정을 맺지않고 데이터를 전송한다

- TCP : 신뢰성 , 연결지향성 , 속도가 느리다

- UDP : 비신뢰성 , 비연결지향성 , 속도가 빠르다

- PDU(Protocl Data Unit) : 각 계층에서 다루는 데이터 단위

- Layer 4의 데이터 단위 : 세그먼트

- Layer 4의 프로토콜 : TCP , UDP

- Layer 4의 장비 : L4 스위치

- 주소 : port(포트)

 

Network Layer(네트워크계층) : 3계층

- Data를 목적지까지 가장 빠르고 안전한 길로 전송할 수 있도록 도와주는 계층

- Layer3의 데이터 단위 : packet(패킷) , datagram(데이터그램)

- Layer3의 프로토콜 : IP , IPX , ICMP , IGMP , ARP , RARP

- Layer3의 장비 : L3 스위치 , 라우터

- 주소 : IP

 

Data Link Layer(데이터링크계층) : 2계층

- 데이터의 물리적인 전송을 담당하는 계층

- Layer2의 데이터 단위 : frame(프레임)

- Layer2의 프로토콜 : LAN프로토콜(Ethernet) , WAN프로토콜(HDLC,PPP)

- Layer2의 장비 : 스위치 , 브리지

- 주소 : MAC

- 데이터링크계층은 세분화되어 2개의 부분으로 나뉜다

MAC주소를 이용하여 해당 장치에게 보내고

LLC는 각 장비들을 논리적으로 연결하고 유지하는 역할을 한다

 

Physical Layer(물리계층) : 1계층

- Data를 전기신호로 바꿔주는 역할을 한다

- Data를 전기신호로 바꾸어 전송하고 , 반대편에서는 이 전기신호를 수신해서 다시

Data로 바꿔주게 된다

- Layer1의 데이터 단위 : 비트(BIT)

- Layer1의 프로토콜 : 없음

- Layer1의 장비 : 케이블 , 커넥터 , 허브 , 리피터

- BIT(BInary digiT) : 컴퓨터 용량을 계산하는 최소 단위

 

@

Encapsulation

- Data가 1계층으로 내려가면서 Data앞에 각 계층의 Header가 하나씩 추가되는 것을

Encapsulation이라 한다

De-Encapsulation

- Data앞에 추가된 Header를 떼어버리는 것을 De-Encapsulation이라 한다

 

=====================================================================

 

■ TCP/IP

- 미국에서 개발한 인터넷의 기본 통신 프로토콜

- 실질적으로 사용되는 프로토콜

Layer

프로토콜

주소

PDU

Application Layer(4계층)

HTTP,FTP,TELNET..

 

Data

Transport Layer(3계층)

TCP/UDP

port(2byte)

Segment

Internet Layer(2계층)

ICMP/IGMP,IP,ARP/RARP

IP(4byte)

packet

Network Access Layer(1계층)

Ethernet

MAC(6byte)

frame

 

@Layer

Application Layer(응용계층) : 4계층

- OSI 7 Layer의 응용,표현,세션 계층의 역할을 한다

 

Transport Layer(전송계층) : 3계층

- 최종적인 통신 목적지를 지정하고 , 오류없이 데이터를 전송하는 역할을 한다

 

Internet Layer(인터넷계층) : 2계층

- 전송계층이 내려보낸 데이터를 종단시스템까지 전달하는 역할을 한다

 

Network Access Layer(네트워크접속계층) : 1계층

- 물리적 네트워크를 통해 실제적인 데이터 전송을 담당하는 역할을 한다

 

 

=====================================================================

 

 

■ 이더넷 프레임(Frame) 구조

Ethernet Frame 크기

- 1518byte ( Preamble과 SFD는 제외)

 

header(헤더)

- 목적지mac주소 + 출발지mac주소 + 데이터 타입 길이

- header의 크기 : 14byte

 

Preamble

- 앞으로 프레임이 들어 올 것을 알려준다

- 0과 1이 반복되는 7byte길이의 필드

 

SFD

- 10101011의 1byte 값을 가지며 , 바로 다음부터 프레임이 시작된다

 

Destination MAC Address

- 목적지 MAC주소

- 6byte길이의 필드

- 앞의 3byte는 NIC 제조회사 , 뒤의 3byte는 NIC의 고유번호

- MAC주소 확인방법 : ipconfig /all

 

Source MAC Address;

- 출발지 MAC주소

- 6byte 길이의 필드

- 앞의 3byte는 NIC 제조회사 , 뒤의 3byte는 NIC의 고유번호

- MAC주소 확인방법 : ipconfig /all

 

Length or Type(길이 or 타입)

- 필드값이 1518byte보다 작으면 데이터 부분의 길이를 표시

- 필드값이 1536byte보다 크면 상위 계층의 프로토콜을 표시한다

- 2byte길이의 필드

 

Data(데이터)

- 상위계층에서 받은 캡슐화된(Encapsulation) 데이터

- 최소 46byte ~ 최대 1500byte

- 이더넷이 상위계층에서 받은 데이터가 최소 46byte보다 커야되고 , 1500byte보다는 작아야 한다

- 데이터를 받았을 때 46byte가 안되면 패딩(Pad)값을 붙인다

 

FCS(Frame Check Sequence) : CRC

- Preamble과 SFD 필드를 제외한 프레임의 오류검사를 하기 위해서 사용되는 필드

- 4byte길이의 필드

 

 

========================================================================

 

 

※ xp(clean) 압축풀어서 실행

- vmware : Edit매뉴 -> Virtual Network Editor ->

-> DHCP 체크 해제

-> Vmnet8(NAT) 선택 후 Subnet IP : 10.10.0.0 // Netmask : 255.255.0.0

 

- vmware : VM매뉴 -> Virtual Machine Settings

-> Network Adapter -> Custom : VMnet8(NAT) 선택 -> OK

 

- 네트워크 속성

ip : 10.10.0.100

netmask : 255.255.0.0

gateway : 10.10.0.2

dns : 168.126.63.1

 

mac주소 변경 방법

- 컴퓨터관리 -> 장치관리자 -> 네트워크 어댑터 -> VMware ~~~ 속성 -> 고급탭 -> NetworkAddress -> 값:000000000000 입력 후 확인 <-- 12자리 이므로 mac주소이다

- cmd : ipconfig /all 에서 mac주소 확인 <-- 다시 원래대로 설정 : 없음

- MAC주소도 변경이 가능하다

- MAC주소는 랜카드에 입력이 된다

 

host os의 Wireshark 설치프로그램을 winxp에 드래그

- 디폴트 설치

- wireshark 실행

- wireshark 사이트 : http://www.wireshark.org

- wire shark : 패킷 분석 프로그램

 

========================================================================

 

■ Wire shark 화면 설명

 

- 아래의 그림과 같이 빨간색 표시를 체크를 하면 , 캡쳐하기 시작한다

- 현재 vmware ~~ AMD 라는 랜카드 // IP는 10.10.0.100 이라는 것을 확인

 

 

- 캡쳐된 모든 패킷을 보여준다

- 출발지/목적지 MAC주소 , 프로토콜 .. ..

 

 

- wire shark가 스스로 정리하여 모든 패킷의 상세한 정보를 보여준다

 

 

- 데이터를 16진수로 보여준다

 

 

========================================================================

 

cmd

- ping 168.126.63.1

 

wire shark

- 아무거나 request 부분을 클릭한다

 

- vmware_ : 랜카드 제조 회사

- 00 50 56 f4 76 ba : 목적지 mac주소(6byte) 00 0c 29 cf 00 b5 : 출발지 mac주소(6byte)

- 08 00 : 상위계층의 프로토콜 , 패킷타입(2byte)

 

========================================================================

 


  • 카카오톡-공유
  • 네이버-블로그-공유
  • 네이버-밴드-공유
  • 페이스북-공유
  • 트위터-공유
  • 카카오스토리-공유

댓글을 달아 주세요